Linked List(鏈結串列)完整指南
Linked List(鏈結串列)完整教學 什麼是 Linked List? Linked List(鏈結串列)是一種線性的資料結構,其中的元素不是儲存在連續的記憶體位置,而是透過指標(pointer)相互連接。每個元素稱為節點(Node),包含兩個部分:
資料(Data):儲存實際的值 指標(Next):指向下一個節點的參考 視覺化表示 [Data|Next] -> [Data|Next] -> [Data|Next] -> None ↑ ↑ ↑ Node 1 Node 2 Node 3為什麼需要 Linked List? 與 Python List(Array)的比較 # Python List(動態陣列) python_list = [1, 2, 3, 4, 5] # 記憶體中連續存放:[1][2][3][4][5] # Linked List # 記憶體中分散存放: # [1|→] -----> [2|→] -----> [3|→] -----> [4|→] -----> [5|None]優缺點比較 操作 Python List Linked List 訪問第 i 個元素 O(1) O(n) 在開頭插入 O(n) O(1) 在結尾插入 O(1)* O(n) 在中間插入 O(n) O(1)** 刪除元素 O(n) O(1)** 記憶體使用 連續 分散 * 平均情況,可能需要擴容 ** 如果已經有該位置的參考