顺序表:
优点:1.存储密度高,可以随机存储结点
2.存储空间连续,即允许元素的随机访问
缺点:1.长度为定值,中途无法扩充
2.插入删除需要移动结点,效率低
链表:
优点:1.长度不固定,可以任意增删
2.存储空间不连续,数据元素之间使用指针相连,每个数据元素只能访问周围的一个元素(根据单链表还是双链表有所不同)。
缺点:
1.要访问特定元素,必须从第一个开始遍历,查找效率低
2.存储密度小,因为每个数据元素,都需要额外存储一个指向下一元素的指针(双链表则需要两个指针)。
单链表:
是最简单的链式结构,也是最近的链式结构
用指针将互不相连的内存结点串成的线性表称为链表,链表为线性表的链式存储结构
如果线性链表中的每一个结点只有一个指针域,则称此线性表为单链表
双链表:
是链表的一种,它的每个数据点中都有两个指针,分别指向直接前驱和后继
特点:无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活
循环链表:
是另一种形式的链式存贮结构,表中最后一个结点的指针域指向头结点,整个链表形成一个环
链表的优点:
1.插入删除速度快(因为有next指针指向其下一个节点,通过改变指针的指向可以方便的增加删除元素)
2.内存利用率高,不会浪费内存(可以使用内存中细小的不连续空间(大于node节点的大小),并且在需要空间的时候才创建空间)
3.大小没有固定,拓展很灵活