查看: 3985| 回复: 4
跳转到指定楼层
上一主题 下一主题
收起左侧

Google : 搜索提示功能实现

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
这个问题我见过Google问了好几次了:
就是像Google和百度那种搜索关键字输入的框框,你输入一半字符串它会在下拉列表里按搜索频率高低显示关键词。比如你输入"hel",下拉框显示"hello","hell","hellokitty", "hellokitty 藏尸案"....

设计一个系统,实现这个提示功能

上一篇:Microsoft : Excel 列的编号
下一篇:Google : 求1到n个数中,1出现的个数
🔗
marstorm08 2011-5-25 14:59:01 | 只看该作者
全局:
这个不是ajax的典型应用么。。。
回复

使用道具 举报

🔗
 楼主| wwwyhx 2011-5-26 21:39:29 | 只看该作者
全局:
没什么标准答案。
是不是有个服务器对所有搜索的关键字排序,当用户键入prefix的时候,把prefix发给服务器,服务器对已排好序的关键字做二分查找,找出以这个prefix开头的第一个关键字,时间开销log(n)。假设下拉框显示最频繁的k个关键字,则从这个找出的第一个关键字开始向后搜,到最后一个不以这个prefix开头的关键字结束,找出这个区间的Top(k)个关键字显示在用户的下拉框?? 感觉还是太慢了...
回复

使用道具 举报

🔗
MontagueHu 2011-6-20 09:00:19 | 只看该作者
全局:
我猜是用trie tree index的
回复

使用道具 举报

🔗
 楼主| wwwyhx 2011-6-20 19:53:03 | 只看该作者
全局:
我猜是用trie tree index的
MontagueHu 发表于 2011-6-20 09:00



    不知道google怎么实现的,我感觉不过直观上感觉就是trie tree. 问题是trie tree可以方便的找到所有特定字符串开头的搜索项。然后用O(n)的复杂度找出这些搜索项中最频繁的k个搜索
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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