C#,单词查找树(Trie Tree)的插入与搜索算法与源代码
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
Trie是一种高效的信息检索数据结构。使用Trie,可以将搜索复杂性提高到最佳极限(密钥长度)。如果我们将密钥存储在二元搜索树中,那么平衡良好的BST将需要与M*log N成比例的时间,其中M是最大字符串长度,N是树中的密钥数。使用Trie,我们可以在O(M)时间内搜索关键字。但是,惩罚是基于Trie存储要求(有关更多详细信息,请参阅Trie的应用程序)
Trie的每个节点都由多个分支组成。每个分支表示键的一个可能字符。我们需要将每个键的最后一个节点标记为单词节点的结尾。Trie节点字段isEndOfWord用于将节点区分为单词node的结尾。
将密钥插入Trie是一种简单的方法。输入键的每个字符都作为单个Trie节点插入。请注意,子级是指向下一级