看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《solasga (密碼呢)》之銘言: : 目前我有兩大筆資料 : name1陣列是約有5萬多個英文名字 (之後還會繼續增加) : name2陣列約有1萬多個英文名字 (之後也是會繼續再增加) : 目標是想要找到兩陣列中有相同的名字 : 如果使用map的話 : 最少也是要使用1萬次 : 花費時間大約1秒多 時間還是太久(要比對這種名字約1萬多次...) : 不知道有沒有什麼其他的函式可以加速比對的嗎?? : 感謝 如果這是蠻常用的功能, 為不麼不乾脆把兩邊都出現 的名字另外存起? 通通都用 map 之類存好, 然後在 list 1 新增的時候 檢查 list 2 (反之亦然), 有相同就存於 common list. 以後要找出兩邊都有的 entry, 就直接從 common list 取出就好. 這麼最多是第一次建立 common list 時要 花一點時間, 往後就快很多了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
Ebergies:可能硬碟空間不夠之類的 03/23 13:51
ledia:硬碟空間不夠不容易... 才幾萬筆, 幾億才有可能不夠 03/23 13:52
ledia:幾億其實也不多了 XD 03/23 13:53
adrianshum:況且只存個名字就夠了, 額外花的空間其實很少了吧 03/23 14:20
wupojung:分群吧.. 找找 資料結構 看看吧 03/23 17:48
adrianshum:分群該不會比用 map (RB-tree) 好多少吧? 03/23 17:56
solasga:感謝各位解答... 03/23 19:15
softwind:SQLite<- 作弊, 或是 programming pearl也有類似的題目 03/23 20:45