效率比較 鍊錶

2022-03-10 16:18:49 字數 643 閱讀 2781

單鏈表雙端鍊錶

有序鍊錶

雙向鍊錶

頭插o(1)       

o(1)

頭刪o(1)       

o(1)

尾插o(1)

o(1)

尾刪o(n)

o(1)

插入max o(n) | min o(n/2)  

刪除o(1)

查詢結點

o(n) 次比較 無移動次數

刪除結點

o(n) 次比較 無移動次數

o(n) – deletekey(int i)

指定結點後插入

o(n) 次比較 無移動次數

o(n) – insertafter(int i)

鍊錶優點

l 使用記憶體無限制 可以擴充套件到所有可以使用的記憶體 

陣列大小在建立的時候 就固定了經常由於陣列太大 導致效率低下 或者陣列太小導致空間溢位

l 插入刪除結點的時候 鍊錶不需要任何移動 特別是複製時間遠遠大於比較時間的時候

雙向鍊錶

優點:前向遍歷

後向遍歷

缺點:每次插入或者刪除乙個鏈結點時候 需要處理四個鏈結點的引用(2

個連線前乙個鏈結點 兩個鏈結後乙個)由於多了兩個引用 鏈結點占用的空間也變大了

陣列和鍊錶插入效率比較

陣列和鍊錶將物件插入指定位置時,大致可以分為兩個步驟 1 找到要插入元素的位置 2 進行插入操作 可以得到等式 找到位置所需時間 插入所需時間 將物件插入指定位置所需總時間 由此可以先假設幾個值 找到插入元素的位置涉及的變數 要插入的位置為z 獲取乙個物件引用所需時間m 進行插入操作涉及的變數 移動...

鍊錶用途 陣列效率 鍊錶效率 鍊錶優缺點

三大資料結構的實現方式 資料結構 實現方式 棧 陣列 單鏈表佇列 陣列 雙端鍊錶 優先順序佇列 陣列 堆 有序鍊錶 雙端佇列 雙向鍊錶 陣列與鍊錶實現方式的比較 陣列與鍊錶都很快 如果能精確 棧或者佇列所需要容納的資料量 陣列 如果不能 鍊錶 陣列的效率 無序陣列 有序陣列 查詢比較次數o n 比較...

演算法效率比較

題目 針對陣列a和陣列b,兩個陣列的元素內容相同,不過陣列a是已經排序的,陣列b是亂序的,針對陣列的中位數,存在以下兩組程式,比較其效率並分析原因。int g int main for int i 0 i n i 背景知識 當包含流水線技術的處理器處理分支指令時就會遇到乙個問題,根據判定條件的真 假...