文章目录

  • 简介
  • 三分查找树的结构
  • 三分查找树的代码表示
  • 三分查找树的应用

简介

之前我们介绍了tire字典树,tire字典树的优点就是插入和查找比较快速,但是它的缺点就是占用的空间比较大。假如我们要存放一个英文字典(全都是小写字母),那么每个节点将会有26个子节点,用来保存所有可能字符。

trie树既然这么占用空间,有没有比较好的办法来减少空间的占用或者提高空间的使用率呢?有的,这就是今天我们需要讲到的ternary search tree,中文叫做三分查找树。

三分查找树的结构

在讲三分查找树之前,我们先看一个trie树的结构:

上面的trie树中我们存储了三个单词,分别是quan,qun和lian。 我们在每个节点中同时保存了该节点是否是单词结尾的标记,其中1表示是单词的结尾,0表示不是单词的结尾。

这样做的好处是可以在一条树的路径上存储多个单词。

同时trie树的根节点是个不存任何数据的节点,所有的数据都是接

快乐学算法之:三分查找树ternary search tree相关推荐

  1. 快乐学算法or二分查找深度刨析

    目录 零.前言 一.算法思想 二.实现思路 四.源码 零.前言 今天我学习了二分查找(折半查找法),它是用于在有序集合中查找某一元素的便捷算法:算法思想易于理解,很多同学看了就觉得自己会了,但是约易于 ...

  2. Ternary Search Tree(三叉树)

    http://chenyufei.info/blog/2008-04-18/ternary-search-tree/comment-page-1/ http://en.wikipedia.org/wi ...

  3. 查找算法之平衡查找树

    前面介绍的算法在最坏的情况下还是很糟糕.这次会介绍一种二分查找树并能保证无论如何构造它,他的运行时间都是对数级别的.理想情况下我们希望能够保持二分查找树的平衡性.但是,在动态插入中保证树的完美平衡的代 ...

  4. 数据结构与算法之多路查找树(2-3树、2-3-4树、B树、B+树)

    目录 为什么使用多路查找树 二叉树存在的问题 多路查找树 2-3树 2-3树插入的操作 2-3树删除的操作 2-3-4树 2-3-4树的插入操作 2-3-4树的删除操作 B树 B+树 总结 为什么使用 ...

  5. 多路平衡查找树(B Tree)(分裂、合并)

    Balanced Tree 这个就是我们的多路平衡查找树,叫做B Tree(B 代表平衡) 跟AVL 树一样,B 树在枝节点和叶子节点存储键值.数据地址.节点引用. 它有一个特点:分叉数(路数)永远比 ...

  6. 快乐学算法之:字典树Trie

    文章目录 简介 Trie的特性 Trie树和Hashing,BST的对比 Trie树的程序化表示 Trie树的插入 Trie树的搜索 Trie树的删除 Trie树的疑惑 简介 字典树的英文名叫做Tri ...

  7. 对分查找的最多次数_Java数据结构与算法:多路查找树

    作者:subeiLYhttps://blog.csdn.net/m0_46153949/article/details/106742330 本章思维导图 二叉树与B树 二叉树的问题分析二叉树的操作效率 ...

  8. 【算法】多路查找树 B树 B+树

    文章目录 1.概述 1.1 多叉树 1.2 B树的基本介绍 1.3 2-3树基本介绍 1.3.1 2-3树应用案例 2 B树 B+树 B*树 2.1 B树 2.2 B+树 2.3 B*树 本文为博主九 ...

  9. 经典算法之顺序查找(Sequential Search)

    活动地址:CSDN21天学习挑战赛 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩:迟一天就多一天平庸的困扰. 文章目录 1. 前言 2. 算法基本概念 4. 顺序查找 4.1 伪代码 4.2 ...

最新文章

  1. 【java】兴唐第二十节课(Collection 和 ArrayList)
  2. jlink的SWD与JTAG下载模式的对应接线方法
  3. C#学习笔记(C#与C++的差异)001
  4. MFC Edit控件 error:“DDX_Control”: 不能将参数 3 从“int”转换为“CWnd ”
  5. 网站页首可关闭广告条
  6. td 超出宽度隐藏_table中td文字超出长度用省略号隐藏超出内容,鼠标点击内容全部显示...
  7. java使用btree_java数据结构之二叉树遍历的非递归实现
  8. sql 2005 数据库升级2008 数据库 和2005 数据附加2008数据备份文件
  9. Code-NFine:NFine介绍
  10. JavaScript简单计算器
  11. 企业微信api,企业微信sdk接口
  12. 文件名变乱码怎样修复?
  13. 易鲸捷首架刘明:Trafodion值得放入工具箱,因为有以下优点
  14. 如何清除Hacktool.Rootkit病毒,如何让msdirectx.sys此文件彻底删除,谢谢!
  15. 程序员租房福利! 最新 2018年上海公积金提取 租房提取
  16. CE6 CPU 使用率
  17. 原创力文档怎么免费下载_哪里可以下载免费的PDF文档转换器?
  18. cobar mysql部署方案_Cobar的安装和配置步骤
  19. 电脑连接电视html,电脑HDMI连接电视无信号的解决方法
  20. 使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理。距离远时图片放大,距离近时图片缩小

热门文章

  1. 产品读书《乔布斯的魔力演讲》
  2. ?selectableItemBackground 水波纹效果
  3. android只保留中文资源,Android中文资源站专栏:五个“女人最大”的软件
  4. 《寻梦环游记》教你打造独特的职场标签
  5. 软银数百亿美元投资WeWork?中国联合办公将重构估值体系
  6. 计算机网络——标准化
  7. C++实现二分法求零点
  8. 2020小迪安全第八天笔记-(信息收集)架构,搭建,WAF 等
  9. MySQL怎么运行的系列(十一)快照读、锁定读、半一致性读 和 加锁语句分析
  10. 百度网盘二维码显示失败