利用链表实现可合并堆(算法导论第三版思考题10-2)
生活随笔
收集整理的這篇文章主要介紹了
利用链表实现可合并堆(算法导论第三版思考题10-2)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
利用鏈表實現可合并堆(算法導論第三版思考題10-2)
a 鏈表已排序
創建一個空堆: Θ(1)
插入:Θ(n),插入后依然保持排序
最小值:Θ(1),第一位便是
取最小值:Θ(1)
合并:Θ(n),可以修改插入排序或者用歸并排序的合并過程實現
b 鏈表樹為排序的
創建一個空堆: Θ(1)
插入:Θ(1)
最小值:Θ(n),循環遍歷
取最小值:Θ(n),循環遍歷
合并:Θ(1),如果不考慮深拷貝問題,考慮的話Θ(n)復制數據
c 鏈表樹未排序的,且待合并的動態合集是不相交的
同b
本人寫的鏈表
List全部代碼鏈接地址
僅供參考,里面的時間復雜度度比上面寫的要高,因為要考慮到數據安全等問題。
總結
以上是生活随笔為你收集整理的利用链表实现可合并堆(算法导论第三版思考题10-2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 辅助类BinaryTreeNodeLef
- 下一篇: 假设一动态集合S用一个长度为m的直接寻址