数据结构之外部排序:失败树
生活随笔
收集整理的這篇文章主要介紹了
数据结构之外部排序:失败树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
外部排序:失敗樹
- S趟歸并總共需要比較的次數1:
- 失敗樹的定義:
- S趟歸并總共需要比較的次數2:
- 總結:
通過失敗樹來增加歸并排序路數從而減少io讀寫次數
S趟歸并總共需要比較的次數1:
S是趟數,n-1是每一趟 比較的次數,r是歸并段個數,m-1表示求得最小關鍵字比較的時間
失敗樹的定義:
1、將5個歸并段的第一個元素放入葉結點中
2、b3和b4比較,b3勝利b4失敗,其雙親節點放置失敗的節點編號4
3、勝利節點b3和b0比較,b3勝利b0失敗,b0雙親節點為0
4、b1和b2比較,b1勝利b2失敗,其雙親放置2
5、勝利節點b3和勝利節點b1比較,b3勝利b1失敗,放置1
6、根節點放置勝利節點3
7、最終得到最小值的節點編號
輸出最小值6后,填入15
現在只需要比較改變節點到根節點所相關的節點的大小即可
1、b3和b4比比較,b3失敗b4成功,其雙親節點放入3
2、成功節點b4和3的雙親節點b0比較,b4失敗b0成功,b0雙親節點放入4
3、成功節點b0和4的雙親節點b1比較,b0失敗b1成功,填入0
4、根節點放置勝利節點1
如下圖:
要注意我寫的是b4還是4,b4代表葉節點b4,4代表非葉節點4
S趟歸并總共需要比較的次數2:
由失敗樹可以將尋找最小值的算法優化為log2m取上界。通過數學公式化解得到以下結果
最終S趟歸并總共需要比較的次數和m無關
總結:
總結
以上是生活随笔為你收集整理的数据结构之外部排序:失败树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统之计算机系统概述:5、中断和异常
- 下一篇: struts2 集成webservice