iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0

前幾篇實作的 Linked list 只是其中一種 Linked list
實際上有數種 linked list

Types of linked list

  • Singly Linked List 單向資料鏈結
    單向的 linked list,要獲取或操作任何 Node 值都需要從 linked list head 開始,直到目標 Node
    每個 Node 儲存2個值 分別是 value & next

tail Node 的 next 為 null

圖片來源

  • Doubly linked lists 雙向資料鏈結
    Doubly linked list,比起 singly linked list 靈活度更好,從 linked list tail 端往回到 head 端(traverse backward)較為容易,但 使用的儲存空間也相對更多
    每個 Node 儲存3個值 分別是 value / next / previous

head Node 的 previous 為null
tail Node 的 next 為 null

圖片來源

  • Circular linked lists 環形資料鏈結
    跟 singly linked list 幾乎相同,差別只在於 tail Node 的 next point to head Node
    每個 Node 儲存2個值 分別是 value / next

tail Node 的 next 為 head Node

圖片來源

  • Circular doubly linked lists
    跟 doubly linked list 幾乎相同
    差別只在於
  • head Node 的 previous point to tail Node
  • tail Node 的 next point to head Node

每個 Node 儲存3個值 分別是 value / next / previous

head Node 的 previous 為 tail Node
tail Node 的 next 為 head Node

圖片來源

其他資源

types of linked list
https://www.simplilearn.com/tutorials/data-structure-tutorial/types-of-linked-list
Doubly linked list
https://en.wikipedia.org/wiki/Doubly_linked_list
What is a Doubly Linked List
https://youtu.be/k0pjD12bzP0?si=2tMCS336SnQl2XvI


上一篇
Implement a Linked List with insertAt/removeAt/get method in javascript-day 26
下一篇
Stack & Queue 堆疊與佇列-day 28
系列文
演算法與資料結構入門:30天基礎學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言