資料結構和常見演算法

2022-02-16 09:13:45 字數 1412 閱讀 5985

資料結構中常用的操作的效率表

通用資料結構

查詢 插入 

刪除遍歷 

陣列o(n)

o(n)

o(n)

—有序陣列

o(logn)

o(n)

o(n)

o(n)

鍊錶o(n)

o(1)

o(n)

—有序鍊錶

o(n)

o(n)

o(n)

o(n)

二叉樹o(logn)

o(logn)

o(logn)

o(n)

二叉樹(最壞)

o(n)

o(n)

o(n)

o(n)

紅黑樹o(logn)

o(logn)

o(logn)

o(n)

2-3-4樹

o(logn)

o(logn)

o(logn)

o(n)

雜湊表o(1)

o(1)

o(1)

專用資料結構棧—

o(1)

o(1)—佇列

—o(1)

o(1)

—優先順序佇列

—o(n)

o(1)

—優先順序佇列(堆)

—o(logn)

o(logn)

常見的排序演算法比較表

排序平均情況

最好情況

最壞情況

穩定與否

空間複雜度

氣泡排序

o(n2)

o(n)

o(n2)穩定1

選擇排序

o(n2)

o(n2)

o(n2)

不穩定1

插入排序

o(n2)

o(n)

o(n2)穩定1

希爾排序

o(nlogn)

(依賴於增量序列)

不穩定1

快速排序

o(nlogn)

o(nlogn)

o(n2)

不穩定o(logn)

歸併排序

o(nlogn)

o(nlogn)

o(nlogn)

穩定o(n)

二叉樹排序

o(nlogn)

o(nlogn)

o(n2)

穩定o(n)

堆排序o(nlogn)

o(nlogn)

o(nlogn)

不穩定1

拓撲排序

o(n+e)——

—o(n)

演算法常見資料結構

array 陣列最簡單而且應用最廣泛的資料結構之一.特性 使用連續的記憶體來儲存,陣列中的所有元素必須是相同的型別或型別的衍生 同質資料結構 元素可以通過下標直接訪問 linkedlist 鍊錶,線性表的一種,最基本,最簡單,也最為常用的資料結構.特性 元素之間的關係是一對一的關係 除了第乙個和最後...

資料結構以及常見演算法

資料結構 1 陣列 雜湊表 棧 佇列 鍊錶 樹 圖等等的定義 2 資料結構的遍歷 a 陣列 通過下標就可以遍歷 常見題目 1 陣列下標是0到n 1的數字,如果陣列元素是0到n 1的數字的時,這種題目經常會構成閉環,以元素作為下標之類。比如0到n中重複的元素,100死囚犯問題等等。2 陣列遍歷方向問題...

資料結構與演算法 常見的資料結構整合

資料結構是指互相之間存在一種或多種特定短息的資料與元素的集合。陣列是由型別相同的元素構成的有序集合。陣列分類 一維陣列 二維陣列 多維陣列 二維陣列和稀疏陣列互相轉化 陣列中的重複數字 二維陣列中的查詢 最小的k個數 棧是限定僅在表尾部進行插入和刪除操作的線性表。相關問題集錦 棧實現綜合計算器 中綴...