链表 单向链表和双向链表1 单链表提供了在常数时间内的 addAtHead 操作和在线性时间内的 addAtTail 的操作。双链表提供了在常数时间内的 addAtHead 和 addAtTail 操作,并且优化的插入和删除。双链表在 Java 中的实现为 LinkedList,在 Python 中为 list。这些结构都比较常用,有两个要点: 哨兵节点:哨兵节点在树和链表中被广泛用作伪头、伪尾等,通常不保存任何数据。双链表的双向搜索:我们可以从头部或尾部进行搜索。 设计链表 ↩︎