2 javazys javazys 于 2012.10.18 19:01 提问

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

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

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

数据量是100万行

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

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

3个回答

KPRF2009
KPRF2009   2012.10.20 08:53
已采纳

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

csh_34
csh_34   2012.10.19 10:04

我用过php的,思路:

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

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

eagleyan
eagleyan   Rxr 2014.12.06 06:48

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!