作者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/cn.aspx?n=bbs/Perl/M.1413389006.A.3A5.html
1F:推 CindyLinz: 这关键字都会是一个字元吗? 10/16 00:32