数据结构:顺序表与单链表区别

顺序表与单链表区别(以不定长顺序表和带头结点单链表为例)

不定长顺序表:

数据结构:顺序表与单链表区别_第1张图片
单链表(带头结点):

数据结构:顺序表与单链表区别_第2张图片

线性表分为顺序表和链表
顺序表:
1.顺序存储,必须占用一片连续存储单元;
可将顺序表简单理解为数组,其空间是连续的储存单元。 elem是指向顺序表内存地址的指针,listsize是顺序表总大小,length为当前存放有效数据个数。若在末尾插入数据8,只能在下标4处插入,不能中间空几个存储单元插入数据。
2.不便插入删除数据(插入删除位置及后面数据需要均向后或前移动一位),除了尾插尾删(不用移动);
例如在上图下标2处插入数据10,需要先将下标2以及后面所有数据均往后移一个位置,把下标2出空出来,再插入10,时间复杂度为o(n)。
同理若删除下标2的值,只需将下标2后面的值均往前移一位(下标2的值5直接被覆盖),时间复杂度o(n)。

单链表:
1.链接存储,不必占用一片连续存储单元;
顺序表空间连续,可以通过下标互相寻找数据。而链表每个数据位置不一定连

你可能感兴趣的:(数据结构)