首页 > 其他分享 >线索二叉树

线索二叉树

时间:2023-05-07 11:33:38浏览次数:38  
标签:结点 指向 链表 二叉树 线索 指针

线索二叉树

为什么要研究线索二叉树?

image-20230507104544552

如何解决上面的问题?

我们使用第三种方法

image-20230507105042290

二叉链表当中右很多空的指针域

image-20230507105129628

线索二叉树定义

image-20230507105300867

例子

线索二叉树

image-20230507110504339

增设了这些指针之后,会难以区分是指向孩子的指针还是指向前驱结点或者后继结点的指针

所以要加上两个标志域

image-20230507110755324

线索二叉树的结点结构

image-20230507110916608

先序线索二叉树

image-20230507111258266

中序线索二叉树

image-20230507111645977

后序线索二叉树

image-20230507111717689

练习

image-20230507112151288

线索二叉树还是有指针会悬空,怎么解决?

可以增加一个头结点

让头结点的左指针指向根结点,头结点的右指针指向二叉树遍历顺序的最后结点

image-20230507112705028

标签:结点,指向,链表,二叉树,线索,指针
From: https://www.cnblogs.com/harper886/p/17379072.html

相关文章

  • 计算二叉树深度
    解决思路如果是空树,则深度为0;否则,递归计算左子树的深度记为m,递归计算右子树的深度记为n,二叉树的深度则为m与n的较大者加1。intDepth(BiTreeT){if(T==NULL)return0;else{m=Depth(T->lchild);n=Depth(T->rchild);if(m>n)return(m+1);......
  • 二叉树全分析(超详细总结建议收藏)
    个人主页:【......
  • 二叉树的操作
    二叉树的操作二叉树的复制如果是空树,递归结束否则,申请新结点的空间,复制根结点递归复制左子树递归复制右子树代码实现#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<vector>#include<cstring>#include<unordered_se......
  • 先序 中序建立二叉树!!!
    真不错终于写出来了#include<iostream>#include<map>usingnamespacestd;constintN=20010;intpreorder[N],inorder[N],w[N],n,ans[N];map<int,int>ha_sh;structnode{intnum;node*left;node*right;node(intx){num=x,left=nullptr,right=n......
  • LeetCode刷题记录|LeetCode热题100|226.翻转二叉树(easy)
    题目描述:给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。 思路与算法:从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。如果当前遍历到的节点root的左右两棵子树都已经翻转,只需交换两棵子树的位置,即可完成以root为根节点的整棵子树的翻转。时间复......
  • 第五章 5.2.2 二叉树的常用性质
    叶子结点数量比度为2的结点多一个树的结点数量=总度数+1层的最多结点数高度一定的二叉树最多节点数量完全二叉树的性质......
  • 二叉树的先序、中序、后序的遍历
    二叉树遍历的思想:1.先序遍历 先序遍历二叉树的过程是: (1)访问根节点; (2)先序遍历左子树; (3)先序遍历右子树。 2.中序遍历 中序遍历二叉树的过程是: (1)中序遍历左子树; (2)访问根节点; (3)中序遍历右子树。 3.后序遍历 后序遍历二叉树的过程是: (1)先序遍历左子树;......
  • 二叉树的建立
    二叉树的创建typedefstructnode{ElemTypedata;structnode*lchild;//指向左孩子的节点structnode*rchild;//指向右孩子的节点}BTNode;#include"btree.h"voidCreateBTNode(BTNode*&b,char*str){BTNode*St[MaxSize],*p;inttop=-1,k,j=0;......
  • 第五章 树与二叉树
    树的概念根节点,分支节点,叶子节点树是递归定义的数据结构两个节点之间的路径,只能从上往下.(有向边)结点的度:有几个孩子(分支)树的度:各结点的度的最大值有序树和无序树树和森林树的度和M叉树二叉树的定义和基本概念二叉树的五种状态特殊状态的二叉......
  • 2023-05-03:给你一棵 二叉树 的根节点 root ,树中有 n 个节点 每个节点都可以被分配一个
    2023-05-03:给你一棵二叉树的根节点root,树中有n个节点每个节点都可以被分配一个从1到n且互不相同的值另给你一个长度为m的数组queries你必须在树上执行m个独立的查询,其中第i个查询你需要执行以下操作:从树中移除以queries[i]的值作为根节点的子树题目所用测试......