当前位置: 首页 > 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/news/233807.html

相关文章:

  • 游戏竞赛中的时间压力与情绪管理:一场关于挑战、紧迫感与心态的深度探讨
  • 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
  • c# 时间帮助类
  • 2.6:冒泡、简选、直插、快排,递归,宏
  • VMware虚拟机安装openEuler系统(一)(2024)
  • Idea里自定义封装数据警告解决 Spring Boot Configuration Annotation Processor not configured
  • Qt QML学习(一):Qt Quick 与 QML 简介
  • 【资料分享】基于单片机大气压监测报警系统电路方案设计、基于飞思卡尔的无人坚守点滴监控自动控制系统设计(程序,原理图,pcb,文档)
  • MySQL-SQL优化
  • JAVA设计模式之观察者模式详解
  • GPT原始论文:Improving Language Understanding by Generative Pre-Training论文翻译
  • Unity UGUI实现点击事件穿透