線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:781
推到 Plurk!
推到 Facebook!

有關Sorting

尚未結案
left
一般會員


發表:8
回覆:10
積分:3
註冊:2004-01-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-29 21:41:53 IP:140.130.xxx.xxx 未訂閱
假設現在有100個xxx.txt檔 而且已經排序好了 請問一下 要怎麼把他merge成一個 整個排好序的檔案? 我的限制是 memory太小 無法把檔案load到memory排序 thanks
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-29 23:21:37 IP:211.76.xxx.xxx 未訂閱
left 您好:    
引言: 假設現在有100個xxx.txt檔 而且已經排序好了 請問一下 要怎麼把他merge成一個 整個排好序的檔案? 我的限制是 memory太小 無法把檔案load到memory排序 thanks
不是很了解您所謂的memory太小是什麼情況?還有是不是每個.txt檔都太大了? 假設上述情情成立的話,那麼您的計算結果恐怕也要分若干個檔案來儲存。 我個人的建議是: 既然您已將所有的資料排序好並存在各個檔案中,因此或許您就幫要merge的結果,先細分範圍(不好意思並不精確知道資料的形式希望這個說法不太離譜),比方說將值為1-10的結果分別自所有.txt檔中讀出,並重新插入排序,之後結果存1to10.dat中;依序重排所有10-20的資料,存於10to20.dat,依此類推。 最後再重組上述檔案,即可獲致merge的結果。 個人想法,提供參考!
left
一般會員


發表:8
回覆:10
積分:3
註冊:2004-01-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-30 13:50:20 IP:140.130.xxx.xxx 未訂閱
hi~~ richtop 謝謝你的回答 我的問題就你所述的依樣 的確檔案是很大想做排序 所以才先拆開來想再作一次insert sort 不過您的方法應該是達不到排序的功能 "比方說將值為1-10的結果分別自所有.txt檔中讀出, 並重新插入排序,之後結果存1to10.dat中; 依序重排所有10-20的資料,存於10to20.dat,依此類推。" However,merge之後並不是排好序的資料
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-30 15:10:25 IP:211.76.xxx.xxx 未訂閱
引言: hi~~ richtop 謝謝你的回答 我的問題就你所述的依樣 的確檔案是很大想做排序 所以才先拆開來想再作一次insert sort 不過您的方法應該是達不到排序的功能 "比方說將值為1-10的結果分別自所有.txt檔中讀出, 並重新插入排序,之後結果存1to10.dat中; 依序重排所有10-20的資料,存於10to20.dat,依此類推。" However,merge之後並不是排好序的資料
依照您問題的描述,我覺得應該可以才對。唯一擔心的是,取值的範圍該如何分段(除非所有的值是呈均勻分布),以免造成某一範圍的資料太多,讓您有可能仍無法處理。 我再說一下我的意思,您參考看看: 1to10.dat :存的是自所有.txt檔中讀出,值介於 1到10之間的所有資料。 10to20.dat:存的是自所有.txt檔中讀出,值介於10到20之間的所有資料。 20to30.dat:存的是自所有.txt檔中讀出,值介於20到30之間的所有資料。 ..... 依此類推。 接著依序把所有檔案的資料合在一起, 1to10.dat 10to20.dat 20to30.dat ... => result.dat 或者必要時只將您要的範圍的檔案合在一起, 例如:20到40, 20to30.dat 30to40.dat => result.dat 因在1to10.dat檔案的資料已經排序好了,且不可能大於10to20.dat檔案中的任何資料,所以合併後的 1to10.dat 10to20.dat => result.dat 其內容應該就是:所有值介於1到20之間,且已經排好序的資料了。 RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
left
一般會員


發表:8
回覆:10
積分:3
註冊:2004-01-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-30 19:59:04 IP:140.130.xxx.xxx 未訂閱
謝謝你 sorry!! 我一開始沒看清楚 以為你是取前10筆 你真的幫我一個大忙 ^^
系統時間:2024-05-18 16:13:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!