常見的線性列表結構---【陣列、連結串列、棧、佇列、堆】
我們在演算法設計當中最常見的線性結構列表無非是一下幾種:
1.陣列:
陣列應該是我最常用的一種。他的儲存地址是連續的,就是當我們新開闢一個陣列時,我們會給他分配一個連續的地址。由於他的地址是連續的,所以在我們知道他下標的時候,查詢元素的速度非常快。
2.連結串列:
連結串列中的元素的位置不固定,連結串列中的每一個結點都一個頭指標與尾指標,通過這樣把連結串列中的元素連線起來,所以查詢一個元素的時間與該元素所處的位置有關係。但是他在空間上面佔有優勢。
3.棧:
棧中的元素有一個特點,就是保持“ 先進先出”的原則。我們可以用一摞碟子做比喻,我們每次在加入新的碟子和拿走碟子的時候都在頂部做操作,他的應用也很廣泛。
4.佇列:
佇列中,我們對元素的操作分別在隊頭與隊尾。元素的插入在隊尾,元素的刪除在隊頭。在圖的問題上面運用比較多。
5.堆:
堆是解決二叉樹的一種常用的結構,是優先佇列的一種優化結構。
這些都是非常基礎又是非常重要的知識點,所以無論如何你必須要掌握。其餘的廢話就不多說了,後面我會針對每一種結構做一個詳細的分享,希望大家多多支援,共同學習共同進步。
相關文章
- 線性表(陣列、連結串列、佇列、棧)詳細總結陣列佇列
- 線性結構 陣列與連結串列陣列
- 聊聊陣列與連結串列,棧與佇列陣列佇列
- 陣列、連結串列、堆疊和佇列學習陣列佇列
- 連結串列&鏈棧&佇列佇列
- 線性結構 佇列與棧佇列
- 重溫四大基礎資料結構:陣列、連結串列、佇列和棧資料結構陣列佇列
- 資料結構與演算法(二)佇列、棧、連結串列資料結構演算法佇列
- JavaScript資料結構之陣列棧佇列JavaScript資料結構陣列佇列
- 資料結構之連結串列與陣列(1):陣列和連結串列的簡介資料結構陣列
- java實現單連結串列、棧、佇列三種資料結構Java佇列資料結構
- 資料結構:特殊的線性表之 棧 & 佇列資料結構佇列
- 重學資料結構和演算法(一)之複雜度、陣列、連結串列、棧、佇列、圖資料結構演算法複雜度陣列佇列
- 線性結構(二)--陣列陣列
- 陣列和連結串列陣列
- 陣列與連結串列陣列
- 資料結構--陣列、單向連結串列、雙向連結串列資料結構陣列
- 佇列_單向連結串列佇列
- 連結串列、棧、佇列、KMP相關知識點佇列KMP
- 資料結構之陣列和連結串列資料結構陣列
- 資料結構-棧(通過陣列和單向連結串列實現)資料結構陣列
- 資料結構—棧/佇列資料結構佇列
- 資料結構-佇列、棧資料結構佇列
- Java版-資料結構-佇列(陣列佇列)Java資料結構佇列陣列
- 《啊哈!演算法》-第 2 章:棧、佇列、連結串列演算法佇列
- 約瑟夫環 佇列+連結串列佇列
- 資料結構與演算法分析 讀書筆記(連結串列 棧 佇列)資料結構演算法筆記佇列
- 鏈式佇列—用連結串列來實現佇列佇列
- 從簡單的線性資料結構開始:棧與佇列資料結構佇列
- 用C++模板描述的連結串列、棧、佇列(補充) (轉)C++佇列
- 資料結構-棧與佇列資料結構佇列
- 資料結構—棧和佇列資料結構佇列
- 資料結構(棧和佇列)資料結構佇列
- 【資料結構】--棧和佇列資料結構佇列
- 資料結構:棧與佇列資料結構佇列
- C/C++ 陣列連結串列表示式計算C++陣列
- 堆、棧以及佇列佇列
- 用連結串列實現佇列的功能佇列