美文网首页
浅识Trie树或字典树

浅识Trie树或字典树

作者: 小码弟 | 来源:发表于2018-10-18 21:56 被阅读0次

Trie这个单词来自‘retrieve’,Trie树又称字典树或键树。它是一种用于快速字符串检索的多叉树,原理是:利用字符串的公共前缀降低时空开销,空间换时间。Trie树的典型应用是统计和排序大量字符串,所以经常被搜索引擎用于文本词频统计。优点是:最大限度减少无谓字符串的比较,查询效率比hash表高。

Trie树的特性

  • 根节点不包含字符,除根节点外,每个节点都包含且仅包含一个字符
  • 从根节点到某一节点,路径上经过的字符串连接起来,是该节点对应的字符串
  • 每个节点的所有子节点包含的字符都不相同


    Snip20181018_4.png

    如图所示,该Trie树用10个节点保存了5个字符串:amy, aan, em, rob, rg。
    在该Trie树中,字符串“amy”和“ann”有公共前缀“a”,如果系统中存在大量且这些字符串没有公共前缀,则相应的Trie树将非常消耗内存,这也是Trie树的一个缺点。
    比如, 给定一个单词a,如果通过交换单词中字母中的顺序可以得到另外的单词b,那么称b是a的兄弟单词。
    一般情况下,Trie树的结构都是采用26叉树进行组织的,每个节点对应一个字母,查询时,挨个字母进行匹配。算法的时间复杂度就是单词的长度n。
    Trie树的构建是在预处理阶段完成的,首先根据字典中的单词建立字典树,当树创建完毕,查询兄弟单词的频率就会提高很多,比Hash效率还高。
    Trie树适用于数据量大,重复多,但是数据种类小可以容纳内存的情况。

相关文章

  • 浅识Trie树或字典树

    Trie这个单词来自‘retrieve’,Trie树又称字典树或键树。它是一种用于快速字符串检索的多叉树,原理是:...

  • 【 数据结构 & 算法 】—— 高级数据结构

    思维导图 1/3:trie树(字典树)的基础知识 trie树,又称字典树或前缀树,是一种有序的、用于统计、排序和存...

  • 数据结构之Trie字典树

    什么是Trie字典树 Trie 树,也叫“字典树”或“前缀树”。顾名思义,它是一个树形结构。但与二分搜索树、红黑树...

  • 数据结构必知 --- 前缀树

    写在前 什么是字典树?Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。Trie 一...

  • 以太坊中的Merkle Patricia Tree(1):基本概

    1. Trie/Radix树 Trie树,又称 前缀树或字典树 ,是一种有序树,用于保存关联数组. 其中的键通常...

  • 字典树

    字典树 Trie 在计算机科学中,Trie 又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字...

  • 数据结构——Trie

    一、Trie 字典树 在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是...

  • Trie树

    什么是“Trie树”? Trie树,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二...

  • trie树

    文章内容来自 Trie树:应用于统计和排序Trie树 trie树又称:字典树、单词查找树、前缀树等,总之是一种树状...

  • 树结构之Trie

    1. 什么是trie树 1.Trie树 (特例结构树)Trie树,又称单词查找树、字典树,是一种树形结构,是一种哈...

网友评论

      本文标题:浅识Trie树或字典树

      本文链接:https://www.haomeiwen.com/subject/nsxezftx.html