Python 資料結構與演算法——列表(連結串列,linked list)
阿新 • • 發佈:2018-11-12
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
Python 中的 list 並不是我們傳統(電腦科學)意義上的列表,這也是其 append 操作會比 insert 操作效率高的原因。傳統列表——通常也叫作連結串列(linked list)——通常是由一系列節點(node)來實現的,其每一個節點(尾節點除外)都持有一個指向下一個節點的引用。
其簡單實現:
class Node: def __init__(self, value, next=None): self.value = value self.next = next
- 1
- 2
- 3
- 4
接下來,我們就可使用連結串列的結構來組織所有節點了。
>>> L = Node('a', Node('b', Node('c' , Node('d'))))>>> L.next.next.value'c'
- 1
- 2
- 3
這是所謂的單向連結串列,雙向連結串列的各節點還需要持有一個指向前一節點的引用。