python实现双向链表基本结构及其基本方法
双向链表是在单向链表的基础上更为复杂的数据结构,其中一个节点除了含有自身信息外,还应该含有下连接一下个节点和上一个节点的信息。
双向链表适用于需要双向查找节点值的场景中,在数据量难以估计并且数据增删操作频繁的场景中,双向链表有一定优势;链表在内存中呈现的状态是离散的地址块,不需要像列表一样预先分配内存空间,在内存的充分利用上更胜一筹,不过增加了一些额外开销。
双向链表结构如图:
定义基本的节点类和链表类:
class Node:
"""节点类"""
def __init__(self, item):
self.item = item
self.next = None
self.prev = None
class DLinkList:
"""
双向列表类
