数据结构与算法学习记录(一)什么是线性表?

一、什么是线性表
从逻辑上来看,线性表就是由n(n>=0)个数据元素a1、a2、……an组成的有限序列。这里需要说明如下几点:
1、数据元素的个数为n,也称为表的长度,当n=0的时候称为空表。
2、如果一个线性表非空,即n>0,则可以简单地记作(a1,a2,a3,…,an)
3、数据元素ai(1=<i<=n)表示了各个元素,在不同的场合,其含义也不同。

对于一个非空的线性表,其逻辑结构特征如下:
1、有且仅有一个开始结点a1,没有直接前趋结点,有且仅有一个直接后继结点a2.
2、有且仅有一个终结结点an,没有直接后继结点,有且仅有一个直接前趋a(n-1)
3、其余的内部结点ai(2=<i<=n-1),都有且仅有一个直接前趋结点ai-1和一个直接后继结点ai+1
4、对于同一个线性表,各数据元素ai必须具有相同的数据类型,即同一线性表中各数据元素具有相同的类型,每个数据元素的长度相同。
二、线性表的基本运算
1、初始化
初始化表(InitList)即构造一个空的线性表L.
2、计算表长
计算表长(ListLength)即计算线性表L中结点的个数。
3、获取结点
获取结点(GetNode)即取出线性表L中第i个结点的数据,这里1=<i<=ListLength(L)。
4、查找结点
查找结点(LocateNode)即在线性表L中查找值为x的结点,并返回该结点在线性表L中的位置,如果在线性表中没有找到值为x的结点,则返回一个错误标志。这里需要注意的是,线性表中可能含有多个与x值相同的结点,那么此时就返回第一次查找到的结点。
5、插入结点
插入结点(InsertList)即在线性表L的第i个位置插入一个新的结点,使得其后的结点 编号依次加1。这时,插入一个新节点之后,线性表的长度将变为n+1。
6、删除结点
删除结点(DeleteList)即删除线性表L中的第i个结点,使得其后的所有结点编号依次减1.删除一个结点之后,线性表L的长度将变为n-1。

发布了84 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/GaoXiR/article/details/105603392
今日推荐