链表
概念:
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。
数据结构:
public class ListNode
{
public int val;
public ListNode next;
public ListNode (int x)
{
val = x;
}
}
相关算法:
- 逆序构造单链表;
- 链表反转;
- 链表排序;
- 合并两个有序链表;
- 求出链表倒数第k个值;
- 判断链表是否有环,有环返回相遇结点;
- 在一个有环链表中找到环的入口;
- 删除当前结点;
- 找出链表的中间结点。

浙公网安备 33010602011771号