`
ThinkInMyLife
  • 浏览: 48792 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

字典树(trie tree)

 
阅读更多

  假设有b,abc,abd,bcd,abcd,efg,hii这6个单词,我们构建的树就是这样的。

对于每一个节点,从根遍历到他的过程就是一个单词,如果这个节点被标记为红色,就表示这个单词存在,否则不存在。
 那么,对于一个单词,我只要顺着他从跟走到对应的节点,再看这个节点是否被标记为红色就可以知道它是否出现过了。把这个节点标记为红色,就相当于插入了这个单词。

这样一来我们询问和插入可以一起完成,所用时间仅仅为单词长度,在这一个样例,便是10。
我们可以看到,trie树每一层的节点数是26^i级别的。所以为了节省空间。

如果是数字的话。

 

比如456,百位是4,十位是45,个位是456

 

区间查询的话,423-642

分为5次查询:

百位:

5

十位:

43-49

50-59 因为百位5所以忽略直接命中

60-63

个位:

423-429

430-499因为十位43-49直接命中

500-599因为百位5

600-639因为十位60-63

640-642

 

分享到:
评论

相关推荐

    Java实现字典树TrieTree

    总的来说,Java实现的字典树TrieTree是一个强大的工具,尤其适用于处理大量字符串数据,如四六级高频词汇的存储和查询。通过理解和运用这种数据结构,我们可以提高算法效率,优化应用程序的性能。

    11 TrieTree.rar

    在众多的数据结构中,TrieTree(又称前缀树或字典树)是一种高效且具有广泛应用场景的结构。本篇将深入探讨TrieTree的基本概念、构造方法以及在实际中的应用。 一、TrieTree概述 TrieTree是一种基于字符串的查找...

    LeetCode-Python-820. 单词的压缩编码(字典树 Trie Tree)

    给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S = “time#bell#” 和 indexes = [0, 2, 5]。...

    【ASP.NET编程知识】TrieTree服务-组件构成及其作用介绍.docx

    TrieTree,又称字典树或前缀树,它允许快速查找具有相同前缀的字符串,常用于搜索引擎和自动补全功能。下面将详细介绍TrieTree服务的组件构成及其作用。 1. **Dictionary组件**: Dictionary组件是TrieTree服务的...

    HASH(Trie)-.rar_HashTree.h_TRIE_hash树_trie树_字典树

    **哈希 Trie 树(HashTrie)与字典树(Trie树)详解** 哈希 Trie 树,也称为 HashTrie 或者是哈希化的 Trie 树,是一种结合了哈希表和 Trie 数据结构特点的数据结构。它在 Trie 树的基础上引入了哈希函数,提高了...

    基于知识图谱和trietree的垃圾分类

    TrieTree(字典树),又称为前缀树,是一种用于快速查找的数据结构。在垃圾分类应用中,TrieTree可以用来高效地存储和检索垃圾名称,实现对垃圾名称的快速匹配。例如,用户输入“废旧电池”,系统会通过TrieTree迅速...

    PHP-TrieTree-master.zip

    【PHP-TrieTree-master.zip】是一个包含PHP实现的字典树(Trie Tree)数据结构的资源包。这个项目由AbelZhou在GitHub上开源,提供了完整的代码库供开发者学习和使用。字典树是一种高效的数据结构,常用于字符串搜索...

    详解字典树Trie结构及其Python代码实现

    总结来说,字典树Trie是一种高效的数据结构,特别适合处理大量字符串并需要快速查找公共前缀的情况。虽然它的空间需求较高,但在时间和性能优化方面,Trie在某些应用场景下优于传统的哈希表。通过Python的嵌套字典,...

    11 TrieTree.zip

    本资料包"11 TrieTree.zip"专注于一个特定的数据结构——Trie(也称为前缀树或字典树),这是在文本处理、搜索引擎优化以及许多其他领域中广泛应用的一种高效工具。TrieTree是由著名计算机科学家严蔚敏教授在《数据...

    C# TrieTree介绍及实现方法

    C#中的TrieTree,又称字典树,是一种高效的数据结构,尤其在自然语言处理(NLP)和文本搜索领域有着广泛的应用。它的主要功能是存储字符串集合,并允许快速查找和匹配这些字符串。TrieTree的基本思想是通过将字符串...

    Go-trie-单词查找树实现Go实现

    Trie,又称为前缀树或字典树,是一种用于存储动态集合或关联数组的树形数据结构。它的主要特点是通过键的前缀来组织节点,从而快速进行前缀查询和模糊搜索。在Go语言中实现Trie,可以有效地支持字符串集合的增删查改...

    POJ2513-Colored Sticks【TrieTree+MergeSet+EulerPath】

    【标题】"POJ2513-Colored Sticks【TrieTree+MergeSet+EulerPath】"涉及的是一道编程竞赛题目,主要考察参赛者的数据结构与算法应用能力,特别是Trie树(字典树)、并查集(MergeSet)以及欧拉路径(Euler Path)这...

    字典树php实现

    `TrieTree` 类是字典树的核心类,负责构建整个字典树结构,并提供插入、搜索等基本操作。 - **属性** - `$root`: 字典树的根节点。 - **构造函数** - 初始化 `$root` 为一个新的 `TrieNode` 实例,设置其 `$flag...

    POJ2525-Text Formalization【TrieTree】

    《POJ2525-Text Formalization:深入解析TrieTree》 在计算机科学的世界里,算法和数据结构是解决问题的关键。今天我们要探讨的是一个名为"POJ2525-Text Formalization"的问题,它涉及到一种高效的数据结构——Trie...

    字典树的模版(模版)

    在计算机科学领域,字典树(Trie Tree),也被称为前缀树或关键字树,是一种用于存储字符串集合的高效数据结构。与传统的搜索树相比,字典树能够通过共享公共前缀来节省空间,特别适用于处理大量词汇的查找、插入和...

    Trie树(字典树)的介绍及Java实现

    Trie树,也被称为字典树或前缀树,是一种数据结构,主要用于高效地存储和检索字符串集合中的数据。在Trie树中,每个节点代表一个字符串的前缀,从根节点到某个节点的路径上的字符序列构成了该节点对应的字符串。这种...

    字典树_英汉词典

    ### 字典树(Trie Tree)相关知识点 #### 一、什么是字典树? 字典树,也称为前缀树或Trie树,是一种用于存储字符串的高效数据结构。它利用了字符串之间的公共前缀来减少存储空间的需求,并且能够快速进行插入、...

    TrieTree服务-组件构成及其作用介绍

    TrieTree服务是一种用于语言处理的技术,它通过一种特别的数据结构——前缀树(或称为字典树)来高效地存储和检索字符串数据。TrieTree服务的组成可以分解为多个关键组件,每个组件都有其特定的作用。本文将详细介绍...

    java8源码-BlogDemo:我的csdn博客中使用的代码,主要是算法

    trietree 20160624 KMP算法 KMP 20160701 排序算法,插入排序算法、合并排序算法 sort 20160702 MongoDB应用示例 mongoDBDemo 20160703 Redis的java应用示例 JedisDemo 20160704 使用itext读写pdf示例 pdf 20160705 ...

Global site tag (gtag.js) - Google Analytics