原文:選擇置換+敗者樹搞定外部排序

個人認為,外部排序是我們在學習過程中接觸到的一個比較重要的算法,它既包含了基本的排序算法,又考察了對文件IO以及內存的理解,還展示了最基本的程序優化思想,可以說能夠寫好一個外部排序,就說明基本的編程能力已經過關了。本文將對整個外部排序的過程進行詳細的分析,並介紹兩個經典算法,最后附上完整的程序代碼。 . 問題描述 由於在現實環境中,有時候需要對一個非常大的文件進行排序,而計算機內存是有限的,當數據 ...

2013-09-16 22:57 3 3959 推薦指數:

查看詳情

選擇置換+敗者搞定外部排序

個人認為,外部排序是我們在學習過程中接觸到的一個比較重要的算法,它既包含了基本的排序算法,又考察了對文件IO以及內存的理解,還展示了最基本的程序優化思想,可以說能夠寫好一個外部排序,就說明基本的編程能力已經過關了。本文將對整個外部排序的過程進行詳細的分析,並介紹兩個經典算法,最后附上完整的程序代碼 ...

Fri Aug 22 23:42:00 CST 2014 0 2462
外部排序---置換選擇+敗者

如何生成順串,一個是如何對順串進行歸並。 置換選擇算法   先考慮如何生成順串。我們知道,減少順串 ...

Tue Aug 23 05:03:00 CST 2016 0 3133
置換選擇排序

置換——選擇排序 土辦法構造初始歸並段 同時最多放兩個到輸入緩沖區,只能讀入兩塊的內容,然后把這些記錄在內存排序之后,在輸出寫回外存,這樣就得到了一個初始歸並段。 由於內部排序的內存工作區只能容納6個記錄(例子)。 可以用一片更大的內存區域來進行內部排序(如:可容納18個記錄) 用於 ...

Thu Jul 16 21:46:00 CST 2020 0 1029
敗者

敗者 多路平衡歸並帶來的問題 外部排序時間開銷=讀寫外存的時間+內部排序所需時間+內部歸並所需 時間 \[歸並趟數S=\lceil log_kr \rceil ,歸並路數k增加,歸並趟數S減少,讀寫磁盤總次數減少 \] 使用k路平衡歸並策略,選出一個最小元素需要對比關鍵字(k-1 ...

Thu Jul 16 21:42:00 CST 2020 0 1092
排序 & 敗者 & 多路歸並-學習

來來來,根據這篇文章,學一下敗者吧: http://blog.csdn.net/whz_zb/article/details/7425152 一、勝者 勝者的一個優點是,如果一個選手的值改變了,可以很容易地修改這棵勝者。只需要沿着從該結點到根結點的路徑修改這棵 ...

Wed Dec 07 03:49:00 CST 2016 0 4120
勝者敗者

勝者敗者都是完全二叉樹,是樹形選擇排序的一種變型。每個葉子結點相當於一個選手,每個中間結點相當於一場比賽,每一層相當於一輪比賽。 不同的是,勝者的中間結點記錄的是勝者的標號;而敗者的中間結點記錄的敗者的標號。 勝者敗者可以在log(n ...

Mon Nov 26 04:58:00 CST 2012 0 4243
11-1-敗者-外部排序-第11章-《數據結構》課本源碼-嚴蔚敏吳偉民版

課本源碼部分 第11章 外部排序 - 敗者 ——《數據結構》-嚴蔚敏.吳偉民版 源碼使用說明 鏈接☛☛☛ 《數據結構-C語言版》(嚴蔚敏,吳偉民版)課本源碼+習題集解析使用說明 課本源碼合輯 鏈接☛☛☛ 《數據結構》課本源碼合輯 習題集全 ...

Thu Jun 23 17:04:00 CST 2016 4 1412
[算法]敗者

  勝者敗者都是完全二叉樹,是樹形選擇排序的一種變型。每個葉子結點相當於一個選手,每個中間結點相當於一場比賽,每一層相當於一輪比賽。   不同的是,勝者的中間結點記錄的是勝者的標號;而敗者的中間結點記錄的敗者的標號。   勝者敗者可以在log(n)的時間內找到最值。任何一個葉子結點 ...

Tue Jun 18 17:37:00 CST 2013 0 4877
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM