百度,google了二十分钟也没看到关于线索二叉树的应用。

线索二叉树减少了的空指针域的同时又对每个节点增加了两个标志位。

如果要遍历树可以用栈或者队列或者递归,那线索二叉树的意义是什么?莫不是学者们强迫症犯了就为了减少空指针域的个数。

书上写着引入线索二叉树是为了加快查找节点前驱和后继的速度,而个人觉得线索二叉树在建立的时候使得树的建立变得复杂了一点点,从逻辑上去想也变得复杂,觉得有点吃力不讨好。

除了考试时可能会考到线索二叉树,其他的用处暂时没发现,有缘再见线索二叉树吧。


终于,发现了一个实际的应用:

当路由器使用CIDR,选择下一跳的时候,或者转发分组的时候,通常会用最长前缀匹配(最佳匹配)来得到路由表的一行数据,为了更加有效的查找最长前缀匹配,使用了一种层次的数据结构中,通常使用的数据结构为二叉线索。

阔以阔以,先留个悬念,后续详解CIDR以及线索二叉树。

线索二叉树存在的意义相关推荐

  1. 我这么讲线索二叉树,我三岁大的表弟笑了笑

    目录: 1.线索二叉树的由来 2.线索二叉树的概念和结构 3.二叉树的线索化 4.中序线索二叉树的代码实现 5.遍历线索二叉树 1.线索二叉树的由来 我问表弟下面的一个问题: 在n个结点一个二叉链表中 ...

  2. c语言实现二叉树的线索化和线索二叉树的遍历

    时构建线索二叉树的结构体 线索二叉树比平常的二叉树多了一个ltag域和一个rtag域,他们的作用在后面遍历时会说 #include<stdio.h> #include<stdlib. ...

  3. 数据结构——线索二叉树(TBT)

    文章目录 一.什么是线索二叉树(TBT)? 二.线索二叉树的建立 三.线索二叉树的实现 一.什么是线索二叉树(TBT)? 线索二叉树是一种优化的二叉树结构,对于以结构体指针实现二叉树的方案进行了顺序遍 ...

  4. 数据结构与算法(6-4)线索二叉树

    优势:便于在中序遍历下,查找前驱和后继. 前驱/后继含义:AB中,A是B前驱,B是A后继. ltag=0时:lchild指向左孩子                ltag=1时:lchild指向前驱 ...

  5. 重拾算法(3)——用458329个测试用例全面测试二叉树和线索二叉树的遍历算法

    重拾算法(3)--用458329个测试用例全面测试二叉树和线索二叉树的遍历算法 在"上一篇"和"上上一篇"中,我给出了二叉树和线索二叉树的遍历算法.给出算法容易 ...

  6. 线索二叉树代码实现 - 数据结构和算法49

    线索二叉树代码实现 让编程改变世界 Change the world by program   程序参考代码:http://bbs.fishc.com/forum-112-1.html [buy] 获 ...

  7. 线索二叉树(c/c++)

    线索二叉树 定义: 对于n个结点的二叉树,在二叉链存储结构中有n+1个空链域,利用这些空链域存放在某种遍历次序下该结点的前驱结点和后继结点的指针,这些指针称为线索,加上线索的二叉树称为线索二叉树. 特 ...

  8. 【线索二叉树详解】数据结构06(java实现)

    线索二叉树 1. 线索二叉树简介 定义: 在二叉树的结点上加上线索的二叉树称为线索二叉树. 二叉树的线索化: 对二叉树以某种遍历方式(如先序.中序.后序或层次等)进行遍历,使其变为线索二叉树的过程称为 ...

  9. 线索二叉树原理及前序、中序线索化(Java版)

    转载 原文地址:https://blog.csdn.net/UncleMing5371/article/details/54176252 一.线索二叉树原理 前面介绍二叉树原理及特殊二叉树文章中提到, ...

最新文章

  1. 如何用Swift实现一个好玩的弹性动画
  2. CV入门赛最全思路上分技巧汇总!
  3. 2021年春季学期-信号与系统-第六次作业参考答案-第三小题
  4. 查看mysql数据库的主机_MySQL查看或显示数据库(SHOW DATABASES语句)
  5. 江南百景图自动刷水井,附带拼图教程
  6. Android 程序打包及签名
  7. 《大数据分析原理与实践》一一第3章 关联分析模型
  8. Android 关于后台杀死App之后改变服务器状态的一些尝试
  9. S2011打印机的IP设置
  10. jquery层次选择器:空格 > next + nextAll ~ siblings
  11. 平板电脑办公软件_办公软件便签电脑版免费下载
  12. 芒格:如何面对投资中的巨大回撤?
  13. Pytorch demo(三)之蚂蚁和蜜蜂
  14. 网络靶场攻防综合实验
  15. 不会英语能学java_不会英语可以学java吗 不会英语怎么学java?
  16. note 8 字符串
  17. 短信平台被恶意攻击怎么防御
  18. 手游自动化测试基础:方法及流程
  19. 2023考研数学真题及答案解析!
  20. 【面经】 2018深信服前端面试题

热门文章

  1. 2015华为校园招聘机试题一
  2. 谷歌浏览器直接启动打印不预览解决方案
  3. 激光SLAM | SuMa++:基于激光雷达的语义SLAM
  4. 大疆工程师:如何利用6年时间成为一名优秀的机器人工程师
  5. 联想私有云盘成功中标布丁酒店浙江股份有限公司云盘项目
  6. router-view添加key解决同一路由复用相同组件
  7. matlab 梯度图像,在matlab中快速计算图像的梯度
  8. sail.js学习 - 一些问题
  9. 2022哈工大软件构造lab1小结(知识点)
  10. Rsa 非对称加密算法使用问题分享--使用通过密钥对同一段数据加密得到结果每次不一样