Python数据结构与算法(2.4)——双向链表
0. 学习目标
单链表只有一个指向直接后继的指针来表示结点间的逻辑关系,因此可以方便的从任一结点开始查找其后继结点,但要找前驱结点则比较困难,双向链表是为了解决这一问题,其使用两个指针表示结点间的逻辑关系。在上一节中我们已经讨论了单链表及其相关操作的实现,本节中我们将重点讨论双向链表及其相关操作的实现。
通过本节学习,应掌握以下内容:
- 双向链表的基本概念及其优缺点
- 双向链表基本操作的实现
- 利用双向链表的基本操作实现复杂算法
1. 双向链表简介
1.1 双向链表介绍
双向链表 (doubly linked list) 与单链表相似,同样使用结点和指针的相关概念,属于顺序表的链式存储结构,单链表和双向链表的唯一区别在于双向链表是用两个指针表示结点间的逻辑关系,增加了一个指向其直接前驱的指针域,这样形成的链表有两条不同方向的链—