数据结构与算法 - 数据结构 - 链表 - 双向链表
单链表结点中只有一个指向其后继的指针,使得单链表只能从头节点依次顺序地向后遍历。要访问某个结点的前驱节点(插入、删除操作时),只能从头开始遍历, 访问后继节点的时间复杂度为 $O(1)$,访问前驱节点的时间复杂度为 $O(n)$。
单链表结点中只有一个指向其后继的指针,使得单链表只能从头节点依次顺序地向后遍历。要访问某个结点的前驱节点(插入、删除操作时),只能从头开始遍历, 访问后继节点的时间复杂度为 $O(1)$,访问前驱节点的时间复杂度为 $O(n)$。
在循环链表中最后一个节点指向第一个节点,形成一个环。循环链表可以使用单向链表实现也可以使用双向链表实现。
单向链表的特点是链表的链接方向是单向的,对链表的访问要通过从头部开始,依序往下读取。
跳表(Skip List)是一种随机化的数据结构,它在链表的基础上引入多级索引,从而实现类似于平衡树的对数时间复杂度的搜索、插入和删除操作。跳表由 William Pugh 于1990年发明,用于替代平衡树。跳表主要用于有序数据序列,