线性表
在链表中存储的数据元素也叫作结点,一个结点存储的就是一条数据记录。每个结点的结构包括两个部分:
- 第一是具体的数据值;
- 第二是指向下一个结点的指针。
链表种类
- 单向链表
- 双向链表
- 循环链表
- 双向循环链表
链表特点
- 链表在新增、删除数据都比较容易,可以在 O(1) 的时间复杂度内完成。
- 对于查找,不管是按照位置的查找还是按照数值条件的查找,都需要对全部数据进行遍历。这显然就是 O(n) 的时间复杂度。
线性表真正的价值在于,它对数据的存储方式是按照顺序的存储。如果数据的元素个数不确定,且需要经常进行数据的新增和删除时,那么链表会比较合适。如果数据元素大小确定,删除插入的操作并不多,那么数组可能更适合些。
链表案例
- 链表的翻转
- 给定一个奇数个元素的链表,查找出这个链表中间位置的结点的数值(快慢指针方法)