看板 Perl 關於我們 聯絡資訊
各位板友好 最近需要寫個多重比對的程式 想請教比較有效率的寫法 比對關鍵字 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
CindyLinz: 這關鍵字都會是一個字元嗎? 10/16 00:32