(操作受限的線性表,後進先出,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 鍊錶,線性表的一種,最基本,最簡單,也最為常用的資料結構.特性 元素之間的關係是一對一的關係 除了第乙個和最後...