假如有100万条微博,需要统计里面@谁 的次数最多,有什么好算法?

假如有一个文本文件,每行存放一条微博。

微博的内容形如:
@测试1 @测试2 #话题#test123
@测试1 test123
test @测试1

数据量是100万行

需求是统计出这些微博中@用户 次数最多的top100

请问有什么好的算法或者思路吗?

简单啊,用hash过滤重复的,然后再把用户编号 开一个数组映射啊

我用过php的,思路:

1.用php把100万行的文件分割成100个1万行的文件,为了之后提取效率。

2.然后 每个文件内匹配 @xxx 的内容; 然后放到mem中每次匹配一个 +1。

Priority Queue就是二项堆可以解决这个问题