假如有一个文本文件,每行存放一条微博。
微博的内容形如:
@测试1 @测试2 #话题#test123
@测试1 test123
test @测试1
数据量是100万行
需求是统计出这些微博中@用户 次数最多的top100
请问有什么好的算法或者思路吗?
简单啊,用hash过滤重复的,然后再把用户编号 开一个数组映射啊
我用过php的,思路:
1.用php把100万行的文件分割成100个1万行的文件,为了之后提取效率。
2.然后 每个文件内匹配 @xxx 的内容; 然后放到mem中每次匹配一个 +1。
Priority Queue就是二项堆可以解决这个问题