LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1056|回复: 6

有关一个程序的设计思路问题,请教高手~~~

[复制链接]
发表于 2006-10-9 16:35:37 | 显示全部楼层 |阅读模式
这是beidu的笔试题,网上有的,我没有泄题的嫌疑:P
题目如下:
  寻找热门查询:

  搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串
  的长度为1-255字节。假设目前有一千万个记录,
  这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个
  。一个查询串的重复度越高,说明查询它的用户越多,
  也就是越热门。请你统计最热门的10个查询串,要求使用的内存不能超过1G。

  (1)请描述你解决这个问题的思路;
  (2)请给出主要的处理流程,算法,以及算法的复杂度。


没有大型项目的经验,遇到这种海量数据和涉及多个文件一起查询的问题我都不知道怎么下手。
请问有谁能想出比较好的可行的方法思路??欢迎大家来讨论讨论:)
发表于 2006-10-9 17:01:35 | 显示全部楼层
用hash表吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-9 23:00:08 | 显示全部楼层
大方向应该是,但这也回答的太简单了吧……
等于什么都没说耶…
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-10 12:54:40 | 显示全部楼层
upupup
回复 支持 反对

使用道具 举报

发表于 2006-10-10 16:55:35 | 显示全部楼层
楼主欠缺的不是大型项目的经验,而是基础的算法与数据结构的知识。这方面的教材网上很多的,搜一下就有。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-11 11:10:08 | 显示全部楼层
谢谢楼上点拨,我也意识到了……
回复 支持 反对

使用道具 举报

发表于 2006-10-11 16:48:34 | 显示全部楼层
我怀疑,,这个内存不超过1G怎么算? 虚拟内存算不算?

10 000 000 行 * 100 字节/行 才约为1G
就算同时把文件装进内存排序搜索什么的也用不了1G

而且还有操作系统的虚拟内存
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表