資料結構複習,Linked List 全攻略!

Linked list 特性

Linked List 是由不連續的記憶體位址組成,透過指標(pointer)互相連結元素(elements)的資料結構。

Linked list 優點

相較於 Array,Linked List 具有以下優點:

1.Linked List 大小彈性,不需要預先指定大小。
2.插入、刪除元素時的成本較低,只需要改變指標指向即可,不需要整個轉移。
3.不需要連續的記憶體空間,因此更加靈活。

Linked list 缺點

相較於 Array,Linked List 具有以下缺點:

1.隨機訪問效率較差,只能從第一個節點開始遍歷。
2.需要為每個節點指標提供額外的記憶體空間。
3.無法直接使用相對位址。因為array為連續位址,所以可以有相對位址,但linked list則沒有

Linked list 組成

Linked List 中的每個節點包含以下兩個元素:

1.資料(Data)
2.指標(Pointer)<br

以下是 Kotlin 實現 Linked List 的程式碼
以下是遍歷Traversal Linked List 的程式碼
除了上述的程式碼,你也可以使用 Kotlin 的 Data Class 實現 Linked List:
Linked List Complexity


Time Complexity Worst Case Average Case
Search O(n) O(n)
Insert O(1) O(1)
Deletion O(1) O(1)

You might also enjoy