//求节点值为x的所有祖先节点
typedef struct{BiTree t;int tag;    //tag=0表示左子女已被访问,tag=1表示右子女已被访问。
}stack;
void Search(BiTree bt,ElemType x){stack s[];top=0;while(bt!=NULL||top>0){while(bt!=NULL&&bt->data!=x){    //此时bt->data==x是在入栈时候发现了x节点,放弃继续将节点入栈。 s[++top].t=bt;s[top].tag=0;bt=bt->lchild; }if(bt->data==x){ //找到了x节点 for(int i=1;i<=top;i++){printf(s[i].t->data);}exit(1);} while(top!=0&&s[top].tag==1){ //tag==1说明栈顶的右子女已被访问,可以出栈了。 top--;}if(top!=0){        //已访问左子树或左子树为空,则进入右子树。 s[top].tag=1;bt=s[top].t->rchild;}}
} 

求节点值为x的所有祖先节点相关推荐

  1. 经典算法——二叉搜索树的公共祖先节点

    介绍 二叉搜索树的公共祖先节点是指:对于给定的两个节点p.q,向上寻找离二者最近的公共节点. public class Node<T extends Comparable<T>> ...

  2. 最大的路径的节点值之和

    question: 给定一个二叉树,请计算节点值之和最大的路径的节点值之和是多少. 这个路径的开始节点和结束节点可以是二叉树中的任意节点 例如: 示例1  输入 {-2,1}  输出 1        ...

  3. 对于一颗满二叉排序树深度为K,求最小子树根节点值 Python代码实现

    对于一颗满二叉排序树深度为K,求最小子树根节点值 Python代码实现 def binary_tree(): n = int(input("请输入层数:")) a = int(in ...

  4. 求节点p和q的最近公共祖先节点

    //求节点p和q的最近公共祖先节点,假设用后序遍历先遇到p节点 typedef struct{BiTree t;int tag; //tag=0表示左子女已被访问,tag=1表示右子女已被访问. }s ...

  5. CodeForces 444C 节点更新求变化值的和

    http://vjudge.net/problem/viewProblem.action?id=51622 题目大意: 给定一列n个数字,最初赋予值1到n 两个操作: 1.将区间[l,r]内的数改为x ...

  6. 程序员面试100题之十六:二叉树中两个节点的最近公共父节点(最低的二叉树共同祖先)

    这个问题可以分为三种情况来考虑: 情况一:root未知,但是每个节点都有parent指针 此时可以分别从两个节点开始,沿着parent指针走向根节点,得到两个链表,然后求两个链表的第一个公共节点,这个 ...

  7. 顺序存储二叉树之寻找公共祖先节点

    题目:已知一课二叉树按顺序存储结构进行存储,设计一个算法,求编号分别为i和j的两个节点的最近的公共祖先节点的值     分析:         利用数组存储一颗二叉树,一般来说我们用这种方式存储一颗完 ...

  8. 最近公共祖先 python_求二叉搜索树的最近公共祖先

    给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖 ...

  9. java二叉树求权值_百度笔试题目:二叉树路径权值和【转】

    数据结构课程 百度笔试题目: 给出一个二叉树,和一个整型值,求出二叉树上所有从根到叶子的路径,并且此路径上各个节点的权值之和等于给出的整型值. 解题思路: 根据二叉树的先根遍历思想,通过一个栈保存从根 ...

最新文章

  1. 图网络究竟在研究什么?从15篇研究综述看图神经网络GNN的最新研究进展
  2. 【渗透测试学习平台】 web for pentester -1.介绍与安装
  3. python中文编辑器推荐-python文本编辑器是什么
  4. php匿名函数use,深入理解 PHP 匿名函数关键字 use 的 Runtime Context
  5. matlab句柄函数@和C++ 中的引用 很像
  6. PLSQL 执行 for update 语句被锁定的解决办法
  7. Android隐藏软键盘收回软键盘
  8. 网络视频贴片广告全面推行第三方监测
  9. 21秋期末考试财务会计(二)10165k2
  10. windows核心编程学习笔记(八)结构化异常处理(Structured Exception Handling)
  11. ViewState笔记
  12. vue读取服务器文件,vue读取txt文件
  13. 安装darknet报libQt5Core.so.5: undefined reference
  14. 小学计算机学打字教学教案,小学信息技术《键盘一家》的教学设计
  15. 计算机运行库,VC2010运行库
  16. Java程序设计实验(二):类的创建和封装实验
  17. 苹果承认新一代iPad wifi问题 正调查原因
  18. 坚持每天学习,让学习成为一种习惯
  19. AMS1117-ADJ的使用
  20. 【mycat】mycat分库分表

热门文章

  1. Vue中使用Fullcalendar思路
  2. 计算机vb常用计算公式,计算机等级考试二级VB常用函数解析
  3. 关于Matlab调用Feko时显示:‘prefeko’不是内部或外部命令,也不是可运行的程序 的解决方法
  4. 解决opencv中cv2.VideoCapture()函数打开USB视频慢的问题
  5. Cocos2d-x3.0游戏实例之《别救我》第十篇(完结)——用Json配置各类型怪物数据
  6. 方源答:从键盘上输入年份和月份,输出这一年的该月有多少天。
  7. Opencv 未经处理的异常 Microsoft C++ 异常: cv::Exception,位于内存位置
  8. PCB制板之前的DFM分析
  9. “自卑式备考”?这5种心态不能有!
  10. 人生哲学-经典68个故事