数据结构之线性表的小结
什么是线性表呢,线性表是数据结构的一种,也是最基本、最常见的一种数据结构。数据表是由n个相同类型的数据元素a1-an组成的有限数列(n是数据元素的个数,如果n=0的话就记为空表),例如26个英文字母是一个线性表,1-10也是线性表,公司的员工工资高低也是线性表。
线性表的特征
1在非空的线性表,有且仅有一个开始节点,它没有直接的前趋,而有且仅有一个直接后继
2有且仅有一个终端节点,它没有后继,而仅有一个直接前趋
3其余的内部节点都有且仅有一个直接前趋和一个直接后继
上面的这几句话讲的通俗一点的话就是线性表元素之间是一对一的关系,除了第一个和最后一个的元素外,其他元素都是首尾连接的,当然也有一些线性表是有点不同的,就像链式表
线性表的储存方式有两种一个是顺序表另一个就是链式表
顺序表的特点就是元素顺序存放、地址连续,而顺序表的插入数据元素是在一个限定的范围内插入某一个位置的话,它要插入的那个地方的数先往后移,例如在1-7里有1、2、4、5、6,你要插入3到2后面,4、5、6就都要先往后移一个空出一个位置,才能把3插入进去,但是前提是1-7里面有剩余的空间可以插入,不然就不可以插入。而顺序表的删除也差不多,就是把这个步骤反过来,不过顺序表的删除需要先把要删除的备份,不然到时候删错了或者又有需要了就找不到了,首先备份,然后在把那个删除的元素提取出来,其他元素往前移一个位置。
线性表的链表不是地址连续,他的插入和删除不需要移动元素,它看到内存有空余的地址,就可以毫无顾忌的挤进去,我们来以单链表为例来说,单链表来组成的节点有两个域,一个是数据域一个是指针域而其中指针域是指向他的直接后继
如果往单链表里面插入一个节点,因为单链表不能回头,所以要定位到你要插入的节点的前一个位置,然后插入,删除也是要定位到前一个。以上就是我所学到的线性表小结