56

问答题 56 /69

设计一个Query suggestion的服务

参考答案

设计合理即可,下面是一个参考思路:
• 使用Trie树记录每个Query出现的频次(或其他权值)
• 在每个Trie树的节点设置一个最小堆,记录以当前节点的字符串为前缀的query中出现topK次数的 query
• 更新query频次时,沿着trie树中的路径更新路径上节点中的最小堆
• 用户输入query时,直接返回对应trie树节点的最小堆中topK的query即可