搜索提示或者说智能提示,就是用户在输入框敲一个字符会弹出下拉列表提示候选词给用户,方便用户输入,提升用户体验。假设我们的提示只支持前缀提示,支持汉字、拼音和英文提示。待提示的所有记录以及存在一个文本文件中,每行包含两部分:词和出现频率;同时我们有一个汉字和拼音转换表。不要求关注关注前端页面如何展示,请你给出实现方案、思路和核心数据结构。
搜索提示功能如下:
字典树又称单词查找树,Tree树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
它有3个基本性质:
根节点不包含字符,除根节点外每一个节点都只包含一个字符; 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串; 每个节点的所有子节点包含的字符都不相同。