当前位置: 首页 > article >正文

数据结构——5.3 二叉树的遍历和线索二叉树

第五章 树与二叉树

5.3 二叉树的遍历和线索二叉树

  • 概念
  1. 线索二叉树:为了快速得到遍历序列的前驱和后继

  • 理解
  1. 线索二叉树是一种物理结构,二叉树一种逻辑结构

  2. n个结点的线索二叉树具有2n个链域指针,除了根节点外,每个结点都被一个指针指向,因此用掉了n-1个指针,还剩下n+1个指针用作线索

  3. 指针指向的左右,若为0则是正常的子节点,若为1则为线索

  • 技巧
  1. 中序遍历二叉树的终点一定是最右边的叶子

  2. 后序遍历的出入栈能够体现根节点到某一结点的路径

  3. 二叉树的先序、中序、后序遍历中,所有叶节点的先后顺序是不变的

  4. 若先序与后序结果相反:

    1. 叶结点只有一个

    2. 每层只有一个结点

    3. 结点数等于高度

    4. 不可能存在一个结点同时有左右孩子

    5. 中序序列中根节点在序列首或序列尾;

    6. 次根结点(移除根节点后变成根节点的结点,即原根节点的孩子结点)在不含根节点的序列中也在序列首或序列尾

  5. 若先序与后序结果相同,则该二叉树只有一个根节点

  6. 先序和后序序列组合

    1. 不能确定二叉树,必须要有中序参与

    2. 可以确定结点间的祖先关系,如先序XY,后序YX则X为Y的双亲,例如:先序aebdc、后序bcdea,则根节点a的孩子只有e

  7. 后序线索树的遍历需要栈的支持

  8. 前序序列与中序序列组合可以表述唯一的二叉树

    1. 前序序列作为入栈的次序,中序序列作为出栈的次序

    2. 若已知入栈次序和入栈元素个数n,则出栈的序列个数有: 1 n + 1 C 2 n n \frac{1}{n + 1}C_{2n}^{n} n+11C2nn个,即可能的二叉树个数

  9. 如果想要二叉树先序序列和中序序列相同,则所有非叶节点必须只有右子树


http://www.kler.cn/a/233807.html

相关文章:

  • 继承和多态(上)
  • 若依笔记(八):Docker容器化并部署到公网
  • 词嵌入方法(Word Embedding)
  • 使用支付宝沙箱完成商品下单
  • 【设计模式】关联关系与依赖关系
  • Python 小高考篇(2)字符串
  • 游戏竞赛中的时间压力与情绪管理:一场关于挑战、紧迫感与心态的深度探讨
  • 255.【华为OD机试真题】最小矩阵宽度(滑动窗口算法-JavaPythonC++JS实现)
  • 【微机原理与单片机接口技术】MCS-51单片机的引脚功能介绍
  • LabVIEW工业监控系统
  • 【Linux】构建模块
  • 2、ChatGPT 在数据科学中的应用
  • Istio1.6官方文档中文版
  • C++2024寒假J312实战班2.5
  • 正点原子--STM32通用定时器学习笔记(2)
  • 速盾:海外服务器用了cdn还是卡怎么办
  • 【CSS】什么是BFC?BFC有什么作用?
  • Android 11 webview webrtc无法使用问题
  • cool 框架 node 后端封装三方Api post请求函数
  • NLP_Bag-Of-Words(词袋模型)
  • 如何进行游戏服务器的负载均衡和扩展性设计?
  • VUE学习——事件参数
  • 每天一个数据分析题(一百五十六)
  • moduleID的使用
  • 【学习笔记】【内核】offsetof 的用法
  • 算法学习——LeetCode力扣二叉树篇1