首页 > 编程语言 >数据结构与算法 第二章线性表(48课时课程笔记)Data Structure and Algorithms

数据结构与算法 第二章线性表(48课时课程笔记)Data Structure and Algorithms

时间:2023-12-18 16:55:05浏览次数:29  
标签:LB 线性表 48 LA 元素 插入 Algorithms 随机存取

2.1 线性表的类型定义

一个线性表是n个数据元素的有限序列。

 

(1)结构初始化 InitList(&L) 构造一个空的线性表L。

(2)销毁结构 DestroyList(&L)

(3)引用型操作

  (4) 修改型操作

 

 一个算法举例:

假设有两个集合A和B分别用两个线性表LA和LB表示(即:线性表中的数据元素即为集合中的成员),现要求一个新的集合A= A∪B,且以线性表表示。

 要求对线性表作如下操作: 扩大线性表LA,将存在于线性表LB中而不存在于线性表LA中的数据元素插入到线性表LA中去。

1 从线性表LB中依次取得每个数据元素:GetElem(LB, i, e )

2 将e的值在线性表LA中进行比较:LocateElem(LA, e, equal( ))

3 若不存在,则插入之。ListInsert(LA, n+1, e)

2.2 线性表的顺序表示和实现

1. 顺序表的定义

把线性表的结点按逻辑顺序依次存放在一组地址连续的存储单元里。
随机存取的存储结构。只要确定了存储线性表的起始位置,线性表中的任一数据元素可随机存取。)

2. 线性表的动态分配顺序存储结构(动态一维数组)

 3. 顺序表的操作

1)初始化操作:构造一个空表。设置表的起始位置、 表长及可用空间。

 

2)在线性表中指定位置前插入一个元素

 

 3)在线性表中删除第i个元素

 

 

 

 顺序存储结构的优缺点:

• 优点

 –逻辑相邻,物理相邻

 –可随机存取任一元素

 –存储空间使用紧凑

 • 缺点

 –插入、删除操作需要移动大量的元素

 –预先分配空间需按最大空间分配,利用不充分

2.3 线性表的链式表示和实现

2.3.1 线性链表

单链表,结点中只含一个指针域的链表

 

 (感觉这课不是很有必要这么发博客,打算直接在pdf做笔记然后更百度网盘了)

 

标签:LB,线性表,48,LA,元素,插入,Algorithms,随机存取
From: https://www.cnblogs.com/sihangao/p/17908474.html

相关文章

  • 48、Flink DataStream API 编程指南(1)- DataStream 入门示例
    文章目录Flink系列文章一、FlinkDataStreamAPI编程指南1、DataStream是什么?2、Flink程序剖析3、第一个完整示例4、入门示例1)、maven依赖2)、代码3)、验证本文介绍了FlinkDataStreamAPI的编程指南第一部分,即介绍flink的source、transformation和sink的编程过程以及入门示例......
  • 48、Flink DataStream API 编程指南(3)- 完整版
    文章目录Flink系列文章一、FlinkDataStreamAPI编程指南1、DataStream是什么?2、Flink程序剖析3、第一个完整示例4、入门示例1)、maven依赖2)、代码3)、验证5、DataSources1)、基于文件2)、基于套接字3)、基于集合4)、自定义6、DataStreamTransformations7、DataSinks8、Iteratio......
  • 【数据结构】第二章——线性表(1)
    导言  大家好,很高兴又和大家见面啦!!!从今天开始,我们将进入线性表的学习。  线性表是算法题命题的重点。这类算法题实现起来比较容易且代码量较少,但是要求具有最优的性能(时间复杂度、空间复杂度),因此,我们应该牢固掌握线性表的各种基本操作(基于两种存储结构),在平时的学习中多注重......
  • 《Java编程思想第四版》学习笔记48--关于Runnable
    现在run()位于类内,但它在init()结束以后仍处在“睡眠”状态。若按下启动按钮,线程便会用多少有些暧昧的表达方式创建(若线程尚不存在):newThread(Counter3.this);若某样东西有一个Runnable接口,实际只是意味着它有一个run()方法,但不存在与之相关的任何特殊东西——它不具有任何天......
  • 线性表
    结构体结构体基本概念:结构体属于用户自定义的数据类型,允许用户存储不同的类型。结构体定义与使用:语法:struct结构体名{   结构体成员列表};通过结构体创建变量的三种方式:struct结构体名变量名struct结构体名变量名={成员1值,成员2值……}定义结构体时顺便创建......
  • 数据结构与算法 第一章(48课时课程笔记)Data Structure and Algorithms
    数据结构基础知识 数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素(DataElement):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项(DataItem)组成。数据......
  • [LeetCode] 2482. Difference Between Ones and Zeros in Row and Column
    Youaregivena0-indexedmxnbinarymatrixgrid.A0-indexedmxndifferencematrixdiffiscreatedwiththefollowingprocedure:LetthenumberofonesintheithrowbeonesRowi.LetthenumberofonesinthejthcolumnbeonesColj.Letthenumbero......
  • CF1481D
    考虑二元环要是二元环相同那么显然怎么构造都可以了否则我们考虑没有二元环相同要是m是奇数我们随便跑跑就行要是m是偶数情况呢我们需要构造一种情况我们肯定用的点数越少越好我们考虑三个点要是两个二元环都是a出或者b出的就可以构造出来了voidsolve(){......
  • TTL、RS232、RS485、RS422
    TTL、RS-232、RS-485是指的电平标准(电信号)。TTL:全双工 ,逻辑0对应0V,逻辑1对应3.3V或者5V。RS232:全双工,逻辑0对应+3V至+15V,逻辑1对应-15V至-3V。工业控制RS-232口一般只使用RXD、TXD、GND三条线。RS232的逻辑电平和TTL不一样但是协议是一样的。通讯距离15m。RS485:半双工,逻......
  • 【算法】【线性表】最长单词
    1 题目给一个词典,找出其中所有最长的单词。样例1: 输入:{ "dog", "google", "facebook", "internationalization", "blabla" } 输出:["internationalization"]样例2: 输入:{ "like", "love&......