1. 程式人生 > >Python 資料結構與演算法——列表(連結串列,linked list)

Python 資料結構與演算法——列表(連結串列,linked list)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!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

這是所謂的單向連結串列,雙向連結串列的各節點還需要持有一個指向前一節點的引用。

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述