Trie数据结构是如何高效存储和检索字符串的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2892个文字,预计阅读时间需要12分钟。
Trie树,又称前缀树或字典树,是一种有序树形数据结构。它用于存储关联数组,其中的键通常是字符串。与二叉查找树不同,Trie树中的键不是直接存储在节点中,而是通过节点之间的连接来表示。每个节点代表字符串中的一个字符,通过路径可以构建出完整的字符串。
一、Trie 字典树
在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。[wikipedia]
Trie的典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。[百度百科]
红色节点表示一个单词的结尾。
二、节点的设计
第一版
每个节点包含该节点的值,是否为单词的结尾,该节点的子节点。
本文共计2892个文字,预计阅读时间需要12分钟。
Trie树,又称前缀树或字典树,是一种有序树形数据结构。它用于存储关联数组,其中的键通常是字符串。与二叉查找树不同,Trie树中的键不是直接存储在节点中,而是通过节点之间的连接来表示。每个节点代表字符串中的一个字符,通过路径可以构建出完整的字符串。
一、Trie 字典树
在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。[wikipedia]
Trie的典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。[百度百科]
红色节点表示一个单词的结尾。
二、节点的设计
第一版
每个节点包含该节点的值,是否为单词的结尾,该节点的子节点。

