前缀树主要应用于以下场景:
1.预测文本输入功能:搜索引擎的输入框中输入搜索关键词的预测文本提示、IDE代码编辑器和浏览器网址中输入时的预测文本提示,借助老师讲的前两节动态规划实现预测文本的纠错功能;
2.使用前缀树结构对字符串或单词按字母顺序实现排序并进行输出的功能;
3.前缀树也可用于实现近似匹配,包括拼写检查和连字软件使用的算法;
前缀树的主要优劣对比:
1.使用前缀树可以高效地进行前缀搜索字符串和插入字符串,时间复杂度为O(length);
2.使用前缀树可以按字母顺序轻松打印所有字符串,该功能是散列表不易实现的,但前缀树的搜索效率可能不如散列表快;
3.前缀树的缺点在于,需要大量的内存来存储字符串,对于每个节点需要太多的节点指针。倘若关注内存空间上的优化,可以考虑使用三元搜索树。三元搜索树是实现字典的首选结构,其搜索字符串的时间复杂度是O(height);