作者DRLai (蘇打)
看板Perl
標題[問題] 多個關鍵字比對
時間Thu Oct 16 00:03:23 2014
各位板友好
最近需要寫個多重比對的程式
想請教比較有效率的寫法
比對關鍵字
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://webptt.com/m.aspx?n=bbs/Perl/M.1413389006.A.3A5.html
1F:推 CindyLinz: 這關鍵字都會是一個字元嗎? 10/16 00:32