字典树前缀树
统计和排序大量的字符串 最大限度减少无谓的字符串比较 空间换时间 利用字符串公共前缀来降低查询时间的开销
- 根节点 不包含字符串
- 每个节点所有子节点包含的字符串都不相同
Trie 树最大限度减少无谓字符串的比较 查询效率比较高
- 插入 查找的时间复杂度为O(n) N为字符串长度
- 空间复杂度 26**n
Trie DFA: 转移矩阵表示 行表示状态列表示输入字符 查询效率高,稀疏现象严重,空间利用效率低
Trie树的实现:主要考虑父节点是如何保存孩子节点,链表和数组
- 使用节点数组 方式快 空间浪费多
- 链表动态添加节点 遍历麻烦
Trie树应用场景:
- 字符串检索
- 字符串最长公共前缀
- 排序 先序遍历 字符串 字典排序的结果
- 词频统计 哈希表不够 就用trie树