Trie树

Trie树的定义

    Trie树又称字典树,单词查找树或者键树,是一种哈希树的变种。它是一种用于快速检测的多叉树结构,如英文字母的Trie树是一个26叉树结构,数字的Trie树是一个10叉树结构。Trie的核心思想是空间换时间,利用字符串的公共前缀降低查询时间的开销以达到提高效率的目的。

    Trie词来源于单词Retrieve,既可以发tree的音,也可以发try的音。

    Trie树可以利用字符串的公共前缀来节约存储空间。如下图所示给出字符串"abc","ab","bd","dda",根据该字符串序列构建一棵Trie树:

                                                           image

需要注意的是,Trie树的根节点不包含任何信息,并且键不是保存在节点中,而是由节点在树中的位置确定。通过左边那条路径,就可以得到abc,通过中间的路径得到bd,通过右边的路径就可以得到dda,至于ab,在左边路径的中途就可以检索出来了。Trie树的查找长度为O(Len),Len为要查找的字符串的长度,所以查找效率非常高,但是也要注意,Trie树的空间消耗也非常大。  

未完待续

posted @ 2012-07-18 10:42  Core Hua  阅读(241)  评论(0)    收藏  举报