求二叉树某个结点的祖先
考试做到这一题,当时写的很乱,这让我很烦,题目就是在二叉树查找某个值的结点,如果找到则输出该节点的所有祖先,那我当时想到的就是用后序遍历的非递归算法,如果找到的话,栈中的所有元素就是该节点的祖先,不过后序遍历的话需要用一个标记记录栈顶元素,第一次访问栈顶的元素的时候不出栈,第二次访问栈顶元素的时候再出栈,今天我想起来,大概写了一下代码,可能不完全正确,但是能表达我的想法了,代码如下:
typedef struct{Bitree p;//二叉树结点bool first;
}*Stack;void FindValue(Elemtype x,Bitree p){Stack S;S.push(p);//根结点压栈S.top()->first=true;p=p->lchild;while(!S.empty()){while(p!=NULL){S.push(p);S.top()->first=true;p=p->lchild;}if(S.top()->p->data=x){while(!S.empty()){S.pop();//栈里的元素就是结点的祖先,所有元素出栈}}else if(S.top()->first!=true){S.pop();}else if(S.top()->first==true){S.top()->first=false;p=S.pop()->right;}}
}
考试写的也差不多,希望老师能给个80%的分吧,嘿嘿
求二叉树某个结点的祖先相关推荐
- 求二叉树上结点的路径c语言版,求二叉树根到给定节点的路径设计报告.doc
求二叉树根到给定节点的路径设计报告 题目: 求二叉树根到给定节点的路径 摘要:本程序设计题要求出二叉树的根节点到给定节点的路径,我们利用二叉树的双亲存储表示法建立二叉树,然后在树的叶子节点中找到给定的 ...
- 求二叉树上结点的路径
南昌航空大学实验报告 课程名称: 数据结构A 实验名称: 实验六 二叉树及其应用 (一) 班 级: XXX 学生姓名: XXX ...
- 求二叉树上结点的路径_剑指offer 二叉树
二叉树的镜像(简单) 操作给定的二叉树,将其变换为源二叉树的镜像. 思路: 根节点左右节点调换位置 递归 注意判断空子树情况 二叉树的深度(简单) 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经 ...
- c语言实现求二叉树叶子结点个数
通过递归求解二叉树叶子结点个数,关键在于递归结束条件的设置. main.c #include<stdio.h>//定义结点类型 typedef struct BINARYNODE {cha ...
- 数据结构BinaryTree实例(六):求树的结点的祖先
所谓树的结点的祖先指的是从根节点到达该节点所经过的结点,及该结点的父结点及系列父结点.使用递归的思想,也可以使用判断,入队的非递归思想,本例直接采用递归方式解决对于树这种数据结构而言,递归是一种非常使 ...
- 求二叉树中结点个数代码java_求二叉树中第K层结点的个数
一,问题描述 构建一棵二叉树(不一定是二叉查找树),求出该二叉树中第K层中的结点个数(根结点为第0层) 二,二叉树的构建 定义一个BinaryTree类来表示二叉树,二叉树BinaryTree 又是由 ...
- 递归求二叉树的结点总数及叶子结点总数
一.求结点总数 1.使用1个局部变量进行计数 有的方法中将左右子树分别进行计算,需要使用到两个变量:若使用全局变量,在对多个二叉树计算节点数时结果会进行累计,不易观察,使用一个全局变量就很方便. 2. ...
- 求二叉树某个结点的路径
public class Main{public static class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) ...
- 求二叉树指定结点到根的路径c语言,二叉树根节点到叶子结点和为指定值的路径...
题目描述 image.png 题解 解题思路与二叉树根节点到叶节点的所有路径和一题相似,都是采用递归算法.但这个题加了一点,要求保存路径到vector中. 为了保存路径,这里给递归函数传递一个vect ...
最新文章
- 360度看IT行业--3月12日西安工程大学讲座
- (8) 约瑟夫问题总结
- 机器学习性能改善备忘单
- Docker框架使用系列教程(五)容器间的链接
- 如何在asp.net中实现listbox item值上下移动?(转)
- java 调用foxmail_java邮件收发功能实现代码
- word2vec模型评估_NLP之文本分类:「Tf-Idf、Word2Vec和BERT」三种模型比较
- 通过按Enter阻止用户提交表单
- C++ 类的多态四(虚析构函数的重要性)
- 《大电机技术》期刊简介
- linux终端下打开pdf文件,如何从终端打开PDF文件?
- 航空插头的环境性能科普
- php-fpm 端口号,PHP-FPM 配置说明
- css如何将图片调成合适大小,如何利用CSS自动调整图片的大小
- 电动汽车充电站的最优选址matlab程序
- ASP.NET MVC中的身份验证
- linux下挂载gpt格式的移动硬盘
- lg显示器工厂模式怎么进入_LG液晶显示器进入工厂模式方法
- pdf文件 converter注册码
- 自从干了IT,我犯过的这些错可以绕地球一圈…