链表也是一种线性表结构,和数组类似,是一种非常基础的数据结构。
链表定义
- 链表是一种线性表数据结构;
- 从底层存储结构上看,链表不需要一整块连续的存储空间,而是通过“指针”将一组零散的内存块串联起来使用;
- 链表中的每个内存块被称为链表的“结点”,每个结点除了要存储数据外,还需要记录上(下)一个结点的地址。
链表特点
- 插入、删除数据效率高,只需要考虑相邻结点的指针改变,不需要搬移数据,时间复杂度是 O(1)。
- 随机查找效率低,需要根据指针一个结点一个结点的遍历查找,时间复杂度为O(n)。
- 与内存相比,链表的空间消耗大,因为每个结点除了要存储数据本身,还要储存上(下)结点的地址。
常用的链表类型
常用的有三种:单链表、循环链表、双向链表和双向循环列表。