【資料結構】連結串列的概念以及分類
阿新 • • 發佈:2019-01-07
在上一篇文章中,寫到了順序表。我們知道順序表和連結串列都屬於線性表。既然都是儲存資料,幹啊費那麼大勁整這麼多,所以它們倆肯定有各自的優點和缺點。
|
優點 |
缺點 |
順序表 |
1.支援隨機訪問 | 1.增容時成倍增長,有空間浪費 2.中間或者頭部插入資料時效率不高 O(N) |
連結串列 | 1.用多少開多少,直接鏈上去,沒有空間浪費 2.頭尾插入效率高 O(1) |
1.不支援隨機訪問 |
連結串列的概念
連結串列
連結串列的種類
在實際中,連結串列有許多形式,不止是上圖中簡簡單單的樣子。以下情況組合起來就有八種形式的連結串列:
下面介紹一下它們各自的結構,通過圖可以理解得更深刻
不帶頭單鏈表
- 單向、雙向
- 帶頭、不帶頭
- 迴圈、非迴圈
不帶頭雙向連結串列
帶頭單鏈表
迴圈單鏈表
帶頭雙向迴圈連結串列
雖然有很多的連結串列結構,但其實,我們最常用的就是兩種結構:
- 無頭單向非迴圈連結串列:結構簡單,一般不會單獨用來存資料。實際中更多是作為其他資料結構的子結構,如雜湊桶、圖的鄰接表等等。另外這種結構在筆試面試中出現很多。
- 帶頭雙向迴圈連結串列:結構最複雜,一股用在單獨儲存資料。 實際中使用的連結串列資料結構,都是帶頭雙向迴圈連結串列。另外這個結構雖然結構複雜,但是使用程式碼實現以後會發現結構會帶來很多優勢,實現反而簡單了,後面我們程式碼實現了就知道了。