作者NotFunny (不好笑啦)
看板Visual_Basic
標題[VB6 ] 比對2個文字檔
時間Mon Dec 21 09:09:49 2009
我現在有2個文字檔
每行就代表一筆資料
每個檔案有數萬筆或十萬筆以上
如果要比對這2個檔案
要找出所有不重複的資料
然後把重複的資料移掉
有沒有比較有效率的方法
雖然用迴圈去跑就OK了
不過很沒效率
有沒有快一點的方法呢
THANKS
--
我的Facebook:
http://0rz.tw/v70Uy
有玩餐城的話可以加我交換食材
(雖然可能已經加過了XD)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.49.12
※ 編輯: NotFunny 來自: 220.136.49.12 (12/21 09:11)
1F:→ MOONRAKER:兩個檔案先排序,然後一個一個比,可以保證不重覆比較。 12/21 11:35
2F:→ MOONRAKER:time complexity: O(m+n) 你提的迴圈法一般在 O(mn) 12/21 11:36
3F:推 meto000:把兩個檔案先排序的動作也要算時間吧?看用哪種排序法.. 12/21 11:39
4F:→ MOONRAKER:這是最簡單的方法啦 比較很簡單 排序也很簡單 12/21 13:14
5F:→ MOONRAKER:想也知道不要用那種O(n^2)的排序法 12/21 13:15
6F:→ NotFunny:排序最快就n log n嘛,謝謝二位的意見囉,我再研究看看 12/21 16:00
7F:→ rosemary:是指找出2文字檔的聯集,重複的只取一筆嗎? 12/26 13:26
8F:→ rosemary:如果是上面這種,把資料存到一個新檔,在資料存入時判斷 12/26 13:27
9F:→ rosemary:該檔是否已經有資料 這樣不就好了嗎? 12/26 13:27
10F:→ rosemary:或者更懶一點,把資料都存到資料庫,然後用DISTINCT 12/26 13:31