习题4.5 顺序存储的二叉树的最近的公共祖先问题 (25 分)
设顺序存储的二叉树中有编号为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 分)相关推荐
- 7-6 顺序存储的二叉树的最近的公共祖先问题 (10 分)
7-6 顺序存储的二叉树的最近的公共祖先问题 (10 分) 设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值. 输入格式: 输入第1行给出正整数n(≤100 ...
- 顺序存储的二叉树的最近的公共祖先问题
习题4.5 顺序存储的二叉树的最近的公共祖先问题 (25 分) 设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值. 输入格式: 输入第1行给出正整数n(≤1 ...
- 7-4 (小字辈) 7-5 (列出叶结点) 7-6 (顺序存储的二叉树的最近的公共祖先问题)
目录 7-4 小字辈 7-5 列出叶结点 7-6 顺序存储的二叉树的最近的公共祖先问题 总结: 7-4 小字辈 原题链接:题目详情 - 7-4 小字辈 (pintia.cn) 思路: 利用一维数组下标 ...
- 7-5 顺序存储的二叉树的最近的公共祖先问题(25 分)
设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值. 输入格式: 输入第1行给出正整数n(≤),即顺序存储的最大容量:第2行给出n个非负整数,其间以空格分隔. ...
- 十九、二叉树的最近的公共祖先
十九.二叉树的最近的公共祖先 文章目录 十九.二叉树的最近的公共祖先 题目描述 解题思路 上机代码: 题目描述 设顺序存储的二叉树中有编号为 i 和 j 的两个结点,请设计算法求出它们最近的公共祖先结 ...
- python代码实现二叉树中最低的公共祖先
python代码实现二叉树中最低的公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结 ...
- 7-4 二叉树的遍历!(简单) (25 分)
7-4 二叉树的遍历!(简单) (25 分) 二叉树作为FDS课程最核心的数据结构之一,要求每个人都掌握! 这是一道简单的二叉树问题! 我们将给出一颗二叉树,请你输出它的三种遍历,分别是先序遍历,中序 ...
- 二叉树:最近的公共祖先 Lowest Common Ancestor of a Binary Tree
已知二叉树,求二叉树中给定的两个节点的最近公共祖先. 最近公共祖先: 两节点v与w的最近公共祖先u,满足在树上最低(离根最 远),且v,w两个节点都是u的子孙. 如上二叉树,6和8号节点的公共祖先有4 ...
- 二叉树中的最近公共祖先
对于二叉树中任意两个结点p和q,可能存在如下的情形: p是q的祖先,此时p是p和q的最近公共祖先 q是p的祖先,此时q是p和q的最近公共祖先 p和q没有父子关系. 如果设p和q的最近公共祖先为x.如果 ...
- 【学透二叉树-二叉搜索树(二叉树)的最近公共祖先】
示例: 代码实现: class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q ...
最新文章
- 广东科技学院专插本c语言考卷_广东科技学院第二届红色文化节之红色影视经典配音大赛决赛...
- java中toString的使用
- War包与配置文件分离
- python函数count_python中count函数知识点浅析
- MySql5.6版修改用户登录密码
- read.table与readr::read_delim
- Leetcode 817.链表组件
- 美味爱读提供一种崭新的阅读方式
- matlab遗传算法gaot工具箱安装
- seetaface6 GPU版本windows编译
- Eclipse+Java+SSM+Easyui实现网上考试系统
- 计算机组成原理——CPU功能结构 指令周期 数据通路 控制器 流水线
- 美国军方又出黑科技,实现用意念控制无人机
- 特朗普纽约投资项目售价8.5亿
- 列表含有子列表展开成一个列表
- linux访问共享命令,Linux访问共享资源命令 smbclient
- 字母c在计算机硬盘,字母c
- 内容来至(http://blog.csdn.net/dadaadao/rss/list)
- 苹果微信王者荣耀哪个服务器人多,王者荣耀:QQ区和微信区哪个玩家多?看完会明白...
- 魔方小助手2.12 绿色正式版 - 系统右下角的时间天气
热门文章
- Objective-C中 copy, tetain, assign , readonly , readwrite, nonatomic区别
- ASP.NET+AJAX解决网页打开等待问题
- 【翻译】3D Bounding Box Estimation Using Deep Learning and Geometry
- ORB-SLAM 解读(五) 地图点投影进行特征匹配
- 第二季-专题15-快车道DMA
- 第二季-专题4-我是bootloader设计师
- BZOJ4764弹飞大爷——LCT
- 记录一个表,COUNT多列的写法
- MySql 优化----- 慢查询
- phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护...