线性表的定义特征与运算

线性表的定义特征与运算,第1张

线性表的定义特征与运算,第2张

线性表的逻辑定义

线性表是由n(n≥0)个数据元素(节点)a1,a2,…,an组成的有限序列。
①数据元素的个数n定义为表的长度(当n=0时,称为空表)。

②将非空的线性表(n > 0)写成:(a1,a2,…,an)
③数据元ai(1≤i≤n)只是一个抽象符号,不同情况下其具体含义可以不同。
[例1]英文字母表(A,B,…,Z)是一个线性表,表中的每个字母都是一个数据元素(节点)
[例2]一副扑克牌的点数(2,3,…,10,J,Q,K,A)也是一个线性表。

线性表的逻辑结构特征

对于非空的线性表:
①只有一个起始节点a1,没有直接前任,只有一个直接后继A2;
②终端节点an只有一个,没有直接后继,只有一个直接前任AN-1;
③其他内部节点ai(2≤i≤n-1)只有一个正向ai-1和一个ai+1。常见线性表的基本操作

1.initlist (l)
构造空的线性表L,即表的初始化。
2。listlength (l)
求线性表L中的节点数,即表长。
3。GetNode (L,i)
取线性表L中的第I个节点,其中1 ≤ I ≤ listlength (L)
4。LocateNode (L,x)
在L中查找值为X的节点,返回该节点在L中,如果L中多个节点的值与X相同,则返回找到的第一个节点位置;如果L中没有节点的值是X,则返回一个特殊值,表示搜索失败。
5。INSERT LIST (L,X,i)
在线性表L的第I个位置插入一个值为X的新节点,使原来编号为I,i+1,…,N的节点变成编号为i+1,i+2,…,n+1的节点。这里1≤i≤n+1,n为原表l的长度,插入后表l的长度加1 .
6。DELETE LIST (L,i)
删除线性表L的第I个节点,使原来编号为i+1,i+2,…,N的节点变成编号为I,i+1,…,n-1的节点。这里1≤i≤n,N是原表L的长度,删除的表L的长度减1。

注意:
上述操作是逻辑定义的操作。只要这些操作的功能是“做什么”,那么“怎么做”等实现细节就只能在存储结构确定之后再考虑了。

结合基本运算,实现复杂运算。

实际问题中涉及的其他更复杂的运算,可以通过基本运算的组合来实现。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 线性表的定义特征与运算

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情