是一種由節點組成的線性資料集合,每個節點通過指標指向下乙個節點。由節點組成,並能用於表示序列的資料結構。
迴圈鍊錶:每個節點指向下個節點,最後乙個節點指向頭結點。
排序:類別
排序方法
平均時間複雜度
穩定性 插入
排序 直接插入
o(n2)
穩定希爾排序
o(n1.3)
不穩定 選擇
排序 直接選擇
o(n2)
不穩定堆排序
o(n*log2n)
不穩定 交換
排序 氣泡排序
o(n2)
穩定快速排序
o(n*log2n)
不穩定歸併排序
o(n*log2n)
穩定基數排序
o(d(r+n)) 穩定
乙個元素集合,支援兩種基本操作:enqueue用於新增乙個 元素到佇列,dequeue用於刪除佇列中的乙個元素。
特點:先進先出
乙個元素集合,支援兩個基本操作:push用於將元素壓入棧,pop用於刪除棧頂元素。
特點:先進後出
樹是無向,聯通的無環圖。
二叉樹是乙個樹形資料結構,每個節點最多有兩個子節點,成為左節點,右節點。
滿二叉樹:二叉樹中的每個節點都有0個或者2個節點。
完美二叉樹:二叉樹的每到個節點都有兩個子節點,並且每個葉子節點
完全二叉樹:二叉樹中除了最後一層其他層的節點樹均達到最大值,最後一層的子節點全部連續集中在左側。
堆是一種基於樹的滿足某些特徵的資料結構:整個堆中的所有父子節點的鍵值都滿足相同的排序條件。
堆分最大堆和最小堆。
最大堆中,父節點的鍵值永遠大於大於等於多有子節點的鍵值。
含淚總結篇 資料結構 陣列
系列文章 什麼是資料結構?什麼是演算法?資料結構 陣列 資料結構 鍊錶 資料結構 棧 資料結構 佇列 資料結構 排序 上篇文章說到了什麼是資料結構什麼是演算法,大家有興趣的可以去看下,我也在不斷的完善中。大吉大利。關係 資料結構和演算法的關係 重點是什麼?了解下陣列 線性表。連續的記憶體空間和相同的...
含淚總結篇 資料結構 佇列
系列文章 什麼是資料結構?什麼是演算法?資料結構 陣列 資料結構 鍊錶 資料結構 棧 資料結構 佇列 資料結構 排序 優勢 陣列或鍊錶暴露了太多的操作介面,不適合特點的場景下的安全和可控情況。實現 用陣列實現的佇列 public class arrayqueue 入隊操作,將 item 放入隊尾 p...
演算法篇 資料結構的儲存方式
資料結構的儲存方式只有兩種 陣列 順序儲存 和鍊錶 鏈式儲存 佇列 棧既這兩種資料結構可以使用陣列實現也可以使用鍊錶實現。樹用陣列實現就是堆,因為堆是乙個完全二叉樹,用陣列儲存不需要指標,操作也比較簡單 用鍊錶實現就是很常見的那種樹,因為不一定是完全二叉樹,所以不適用陣列儲存。為此,在這種鍊錶樹結構...