一、 线性表的数组描述
- 当数值满而需要加大数组长度时,数组长度常常是需要加倍的。这个过程称为数组倍增。数组倍增的时间,从渐进意义上面讲,不会大于元素插入的总时间。这里有个定理,如果我们总是按一个乘法因子来增加长度,那么实施一系列线性表的操作所需要的时间与不用改变的数组长度时相比,至多增加一个常数因子。
- 数组中地址是连续的。所以数组需要足够大的空间。
二、 线性表的链式描述
- 单向链表 每一个节点只有一个链,这种结构称为单向链表。单向链表一个节点由两部分组成,链表元素和指向下一个节点的指针。
- 在计时实验中,链表描述比数值描叙的要慢,但是在若干个线性表中,它比数组描述的线性表更有效,这些地方通常需要我们把多个表合成一个表,但如果我们知道一个链表的首尾节点,合并的用时为O1,而数组需要把第二个复制给第一个。当我们知道一个节点的前驱,链表的插入删除也是O1.而数组是On.
- 循环链表