數據結構:鏈表的基礎知識

鏈表的認識

概念

鏈表是數據結構之一,其中的數據呈線性排列。算法

優勢

添加和刪除比較方便bash

缺點

查詢時速度比較慢數據結構

特色

  • 鏈表中的每一個數據都有一個指針,用於指向下一個數據的內存地址
  • 在鏈表中,數據通常都是分散存儲於內存中的,無須存儲在連續空間內

查找數據

因爲數據是分散存儲,查找數據時,只能從第一個數據開始,順着指針的指向一一往下訪問(順序訪問)。spa

添加數據

添加數據時,只須要改變添加位置先後的指針指向就能夠。指針

例如,a > c > d > e
  如今想要在a和c之間添加b元素,將a的指針指向b,將b的指針指向c便可。
複製代碼

刪除數據

數據的刪除也同樣,只需改變指針的指向就能夠。code

例如:a > b > c > d
   如今想要刪除b元素,只須要將a元素的指針指向c便可。 
複製代碼

循環鏈表

鏈表尾部使用指針,並將指針指向鏈表頭部的數據,稱之爲循環鏈表cdn

雙向鏈表

鏈表裏每一個數據都有兩個指針,而且他們分別指向先後數據,稱之爲雙向鏈表。blog

優勢

不只能夠從前日後,還能夠從後往前遍歷數據。圖片

缺點

  • 指針數的增長會致使存儲空間需求增長
  • 添加和刪除數據時須要改變動多指針的指向

寫在最後

  • 文中使用的圖片源自《個人第一本算法書》,如若侵權,請評論區留言,做者當即刪除相關圖片。
  • 文中若有錯誤,歡迎在評論區指正,若是這篇文章幫到了你,歡迎點贊和關注😊
  • 本文首發於掘金,未經許可禁止轉載💌
相關文章
相關標籤/搜索