读书人

Trie树:应用于统计跟排序

发布时间: 2012-11-07 09:56:10 作者: rapoo

Trie树:应用于统计和排序

1. 什么是trie树

1.Trie树 Trie树,又称单词查找树、字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。
Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.
2. 三个基本特性:  1)根节点不包含字符,除根节点外每一个节点都只包含一个字符。  2)从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。 3)每个节点的所有子节点包含的字符都不相同。3 .例子 和二叉查找树不同,在trie树中,每个结点上并非存储一个元素。
trie树把要查找的关键词看作一个字符序列。并根据构成关键词字符的先后顺序构造用于检索的树结构。
在trie树上进行检索类似于查阅英语词典。 一棵m度的trie树或者为空,或者由m棵m度的trie树构成。

例如,电子英文词典,为了方便用户快速检索英语单词,可以建立一棵trie树。例如词典由下面的单词成:a、b、c、aa、ab、ac、ba、ca、aba、abc、baa、bab、bac、cab、abba、baba、caba、abaca、caaba

Trie树:应用于统计跟排序


再举一个例子。给出一组单词,inn, int, at, age, adv, ant, 我们可以得到下面的Trie:

Trie树:应用于统计跟排序

可以看出:

读书人网 >软件架构设计

热点推荐