日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

外排序

發(fā)布時(shí)間:2025/4/16 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 外排序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

外排序(External sorting)是指能夠處理極大量數(shù)據(jù)的排序算法。通常來說,外排序處理的數(shù)據(jù)不能一次裝入內(nèi)存,只能放在讀寫較慢的外存儲(chǔ)器(通常是硬盤)上。外排序通常采用的是一種“排序-歸并”的策略。在排序階段,先讀入能放在內(nèi)存中的數(shù)據(jù)量,將其排序輸出到一個(gè)臨時(shí)文件,依此進(jìn)行,將待排序數(shù)據(jù)組織為多個(gè)有序的臨時(shí)文件。然后在歸并階段將這些臨時(shí)文件組合為一個(gè)大的有序文件,也即排序結(jié)果。

外排序的一個(gè)例子是外歸并排序(External merge sort),它讀入一些能放在內(nèi)存內(nèi)的數(shù)據(jù)量,在內(nèi)存中排序后輸出為一個(gè)順串(即是內(nèi)部數(shù)據(jù)有序的臨時(shí)文件),處理完所有的數(shù)據(jù)后再進(jìn)行歸并。比如,要對(duì) 900 MB 的數(shù)據(jù)進(jìn)行排序,但機(jī)器上只有 100 MB 的可用內(nèi)存時(shí),外歸并排序按如下方法操作:

1. 讀入 100 MB 的數(shù)據(jù)至內(nèi)存中,用某種常規(guī)方式(如快速排序、堆排序、歸并排序等方法)在內(nèi)存中完成排序。

2. 將排序完成的數(shù)據(jù)寫入磁盤。

3. 重復(fù)步驟 1 和 2 直到所有的數(shù)據(jù)都存入到不同的 100 MB 的塊(臨時(shí)文件)中。在這個(gè)例子中,有 900 MB 數(shù)據(jù),單個(gè)臨時(shí)文件大小為 100 MB,所以會(huì)產(chǎn)生 9 個(gè)臨時(shí)文件。

4. 讀入每個(gè)臨時(shí)文件(順串)的前 10 MB ( = 100 MB / (9 塊 + 1))的數(shù)據(jù)放入內(nèi)存中的輸入緩沖區(qū),最后的 10 MB 作為輸出緩沖區(qū)。(實(shí)踐中,將輸入緩沖區(qū)適當(dāng)調(diào)小,而適當(dāng)增大輸出緩沖區(qū)能獲得更好的效果。)

5. 執(zhí)行九路歸并算法,將結(jié)果輸出到輸出緩沖區(qū)。一旦輸出緩沖區(qū)滿,將緩沖區(qū)中的數(shù)據(jù)寫出至目標(biāo)文件,清空緩沖區(qū)。直至所有數(shù)據(jù)歸并完成。

【學(xué)習(xí)資料】 《維基百科》

總結(jié)

以上是生活随笔為你收集整理的外排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。