[問題] 多個關鍵字比對
各位板友好
最近需要寫個多重比對的程式
想請教比較有效率的寫法
比對關鍵字 A B C
輸入資料(文字檔)
A:a123 A:a456 B:b111 D:d1234
B:bbb C:ccc
資料共有上千萬筆,關鍵字假設為3個
每行資料長度不見得一樣
希望能得到的資料為冒號後面的值
以上述範例來說
得到的是
a123
a456
b111
bbb
ccc
輸出順序沒關係,只要有取得就好
之前想到的方法是用 foreach 每個關鍵字去掃
但如果關鍵字有10個(m)
資料有一千萬筆(n)
那複雜度就是 m * n = 一億
另一個方法是把資料變成一筆一筆
接著把關鍵字用 join 方式串接
不知道有沒有其他更好的方式呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.84.234.167
※ 文章網址: http://www.ptt.cc/bbs/Perl/M.1413389006.A.3A5.html
推
10/16 00:32, , 1F
10/16 00:32, 1F
討論串 (同標題文章)