演算法設計 常見的資料結構和演算法小結List

2021-10-22 14:37:18 字數 696 閱讀 9594

(操作受限的線性表,後進先出,lifo)

常見應用:

模擬遞迴。大量的遞迴呼叫會消耗許多時間和記憶體,而棧雖然效率較低,但是空間利用率高。

進製轉換。

括號匹配。

表示式求值。

(操作受限的線性表,先進先出,fifo)

常見應用:

求餘算術。

排隊問題。

使用重複金鑰改進的凱撒加密

(任意的儲存單元儲存,邏輯順序和物理順序不一定相同)

常見應用:

lru 快取淘汰演算法。

多項式相加問題。

兩個鍊錶的歸併問題。

鏈串(在字元處理方面的應用)。

常見應用:

表示算術表示式或命題公式

二叉樹遍歷

字首碼的設計

b-tree,b±tree

紅黑樹二叉搜尋樹

(乙個陣列,被看成乙個近似的完全二叉樹)

常見應用:

斐波那契堆

優先順序佇列

海量資料topk問題

堆排序求動態集合中位數

(根據關鍵碼值(key value)而直接進行訪問的資料結構)

常見應用:

+鍊錶實現url快取淘汰演算法。

**的快取頁面。

雜湊演算法實現:md5、sha-1。

檔案檢驗。

數字簽名。

鑑權協議。

資料結構和常見演算法

資料結構中常用的操作的效率表 通用資料結構 查詢 插入 刪除遍歷 陣列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...

js的資料結構和演算法(主要記錄常見演算法)

js的資料結構 1 陣列 array 2 棧 stack 3 佇列 queue 4 鍊錶 linked list 5 樹 tree 6 圖 graph 7 堆 heap 8 雜湊表 hash 演算法 1.字串回文 字串倒序 let a sasdfghjkl function changestr 2....

演算法常見資料結構

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