设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值。

输入格式:
输入第1行给出正整数n(≤1000),即顺序存储的最大容量;第2行给出n个非负整数,其间以空格分隔。其中0代表二叉树中的空结点(如果第1个结点为0,则代表一棵空树);第3行给出一对结点编号i和j。

题目保证输入正确对应一棵二叉树,且1≤i,j≤n。

输出格式:
如果i或j对应的是空结点,则输出ERROR: T[x] is NULL,其中x是i或j中先发现错误的那个编号;否则在一行中输出编号为i和j的两个结点最近的公共祖先结点的编号和值,其间以1个空格分隔。

题目思路:

顺序存储二叉树每个节点(除根节点)的父节点的下标为i/2。上代码

#include<iostream>
using namespace std;int main()
{int ar[1001] = {0};int n;cin >> n; for (int i = 1; i <= n; i++)cin >> ar[i];int a, b;cin >> a >> b;if (!ar[a])     printf("ERROR: T[%d] is NULL", a);else if (!ar[b])  printf("ERROR: T[%d] is NULL", b);else{while (a != b){if (a > b) a /= 2;else b /= 2;}cout << a << " " << ar[a];}return 0;
}

习题4.5 顺序存储的二叉树的最近的公共祖先问题 (25 分)相关推荐

  1. 7-6 顺序存储的二叉树的最近的公共祖先问题 (10 分)

    7-6 顺序存储的二叉树的最近的公共祖先问题 (10 分) 设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值. 输入格式: 输入第1行给出正整数n(≤100 ...

  2. 顺序存储的二叉树的最近的公共祖先问题

    习题4.5 顺序存储的二叉树的最近的公共祖先问题 (25 分) 设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值. 输入格式: 输入第1行给出正整数n(≤1 ...

  3. 7-4 (小字辈) 7-5 (列出叶结点) 7-6 (顺序存储的二叉树的最近的公共祖先问题)

    目录 7-4 小字辈 7-5 列出叶结点 7-6 顺序存储的二叉树的最近的公共祖先问题 总结: 7-4 小字辈 原题链接:题目详情 - 7-4 小字辈 (pintia.cn) 思路: 利用一维数组下标 ...

  4. 7-5 顺序存储的二叉树的最近的公共祖先问题(25 分)

    设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值. 输入格式: 输入第1行给出正整数n(≤),即顺序存储的最大容量:第2行给出n个非负整数,其间以空格分隔. ...

  5. 十九、二叉树的最近的公共祖先

    十九.二叉树的最近的公共祖先 文章目录 十九.二叉树的最近的公共祖先 题目描述 解题思路 上机代码: 题目描述 设顺序存储的二叉树中有编号为 i 和 j 的两个结点,请设计算法求出它们最近的公共祖先结 ...

  6. python代码实现二叉树中最低的公共祖先

    python代码实现二叉树中最低的公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结 ...

  7. 7-4 二叉树的遍历!(简单) (25 分)

    7-4 二叉树的遍历!(简单) (25 分) 二叉树作为FDS课程最核心的数据结构之一,要求每个人都掌握! 这是一道简单的二叉树问题! 我们将给出一颗二叉树,请你输出它的三种遍历,分别是先序遍历,中序 ...

  8. 二叉树:最近的公共祖先 Lowest Common Ancestor of a Binary Tree

    已知二叉树,求二叉树中给定的两个节点的最近公共祖先. 最近公共祖先: 两节点v与w的最近公共祖先u,满足在树上最低(离根最 远),且v,w两个节点都是u的子孙. 如上二叉树,6和8号节点的公共祖先有4 ...

  9. 二叉树中的最近公共祖先

    对于二叉树中任意两个结点p和q,可能存在如下的情形: p是q的祖先,此时p是p和q的最近公共祖先 q是p的祖先,此时q是p和q的最近公共祖先 p和q没有父子关系. 如果设p和q的最近公共祖先为x.如果 ...

  10. 【学透二叉树-二叉搜索树(二叉树)的最近公共祖先】

    示例: 代码实现: class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q ...

最新文章

  1. 广东科技学院专插本c语言考卷_广东科技学院第二届红色文化节之红色影视经典配音大赛决赛...
  2. java中toString的使用
  3. War包与配置文件分离
  4. python函数count_python中count函数知识点浅析
  5. MySql5.6版修改用户登录密码
  6. read.table与readr::read_delim
  7. Leetcode 817.链表组件
  8. 美味爱读提供一种崭新的阅读方式
  9. matlab遗传算法gaot工具箱安装
  10. seetaface6 GPU版本windows编译
  11. Eclipse+Java+SSM+Easyui实现网上考试系统
  12. 计算机组成原理——CPU功能结构 指令周期 数据通路 控制器 流水线
  13. 美国军方又出黑科技,实现用意念控制无人机
  14. 特朗普纽约投资项目售价8.5亿
  15. 列表含有子列表展开成一个列表
  16. linux访问共享命令,Linux访问共享资源命令 smbclient
  17. 字母c在计算机硬盘,字母c
  18. 内容来至(http://blog.csdn.net/dadaadao/rss/list)
  19. 苹果微信王者荣耀哪个服务器人多,王者荣耀:QQ区和微信区哪个玩家多?看完会明白...
  20. 魔方小助手2.12 绿色正式版 - 系统右下角的时间天气

热门文章

  1. Objective-C中 copy, tetain, assign , readonly , readwrite, nonatomic区别
  2. ASP.NET+AJAX解决网页打开等待问题
  3. 【翻译】3D Bounding Box Estimation Using Deep Learning and Geometry
  4. ORB-SLAM 解读(五) 地图点投影进行特征匹配
  5. 第二季-专题15-快车道DMA
  6. 第二季-专题4-我是bootloader设计师
  7. BZOJ4764弹飞大爷——LCT
  8. 记录一个表,COUNT多列的写法
  9. MySql 优化----- 慢查询
  10. phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护...