在百度或者淘宝搜索时,每次输入字符串都会出现搜索建议,例如输入北京,在搜索输入框下面会以北京为前缀,展示北京爱情故事,北京公交,北京医院等搜索词,实现这类技术所采用的数据结构是什么

在百度或者淘宝搜索时,每次输入字符串都会出现搜索建议,例如输入"北京",在搜索输入框下面会以北京为前缀,展示"北京爱情故事",“北京公交”,"北京医院"等搜索词,实现这类技术所采用的数据结构是什么?

Trie树,又称为单词查找树,字典树,是一种树形结构,是一种哈希树的变种,是一种快速检索的多叉树结构,单行应用就是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.

他的优点是:最大限度的减少无谓字符串的比较,查询效率比哈希表高.

Trie树的核心思想是:空间换时间,利用字符串的公共前缀降低查询时间的开销以达到提高效率的目的.

对于搜索引擎,一般会保留一个单词查找树前N个字(全球或最近热门使用的),对于每个用户,保持Trie树最近前N个字为该用户使用的结果.

用户点击任何搜索结果后,Trie树可以非常迅速并一步获取完整的部分/模糊查询,然后预取数据,再用一个Web应用程序发送一个较小的组结果到浏览器.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TimeFriends

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值