最近整理 KMP , Trie , Trie 图三个算法。后来就直接用 Trie 树实现 web 端的搜索关键词提示小功能。
实现原理:利用 1w2 英文单词建立 Trie 树。前端实时检测用户键盘输入,通过 ajax 请求计算得到:当前输入字符串作为前缀时所有的英文单词。并显示在输入框下方。
进一步改进:通过记录用户输入的日志,利用 top-k 算法计算出热度最高的高频词,提示的时候只提示高频词,而不是现在这样提示所有包含前缀的关键词。
1
BuilderQiu 2017-01-16 09:24:13 +08:00
我在想这种集群环境下要怎么弄,每台机器都弄一份?
|
2
pandachow 2017-01-16 10:51:29 +08:00
问下同一个子树下面的排序是怎么做的?比方说输入了 te, 下面的 tee 和 tea 是怎么排列的,谁排在前面?字母顺序吗?
|
3
7color94 OP @BuilderQiu ajax 到中心服务器请求数据?
|
4
7color94 OP @pandachow 目前我是按照建立 Trie 树的顺序排列的。谁先出现谁排在前面。如果是真正应用场景的话,根据“热度”排列吧。
|
5
jedihy 2017-02-17 02:48:39 +08:00
@BuilderQiu 假设第一个节点有 a-z 个子节点,可以把 a-z 的子树存到 26 台主机。
|