当前位置: 首页 > news >正文

网站制作案例流程图安徽省和住房建设厅网站

网站制作案例流程图,安徽省和住房建设厅网站,百度如何建网站群,昆明建设银行纪念币预约网站二叉树 题目描述 如上图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从10到根结点的路径是(10, 5, 2, 1),从4到根结点的路径是(4, 2, 1)&#x…

二叉树

题目描述


如上图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从10到根结点的路径是(10, 5, 2, 1),从4到根结点的路径是(4, 2, 1),从根结点1到根结点的路径上只包含一个结点1,因此路径就是(1)。对于两个结点x和y,假设他们到根结点的路径分别是(x1, x2, ... ,1)和(y1, y2, ... ,1)(这里显然有x = x1,y = y1),那么必然存在两个正整数i和j,使得从xi 和 yj开始,有xi = yj , xi + 1 = yj + 1, xi + 2 = yj + 2,... 现在的问题就是,给定x和y,要求xi(也就是yj)。

关于输入

输入只有一行,包括两个正整数x和y,这两个正整数都不大于1000。

关于输出

输出只有一个正整数xi。

例子输入
10 4
例子输出
2
解题分析

这个问题的关键在于理解题目中的二叉树的特性。在这个二叉树中,每个节点 i 的两个子节点是 2*i 和 2*i+1。因此,每个节点 i 的父节点是 i/2。这是一个关键的性质,因为它意味着我们可以通过除以2来找到任何节点的父节点。

给定两个节点 x 和 y,我们的目标是找到他们的最近公共祖先。由于我们可以通过除以2来找到任何节点的父节点,因此一个直观的方法是从 x 和 y 开始,不断地找他们的父节点,直到我们找到一个公共的节点。这个公共的节点就是他们的最近公共祖先。

在具体实现上,我们定义了一个函数`findCommonAncestor`,它接受两个整数 x 和 y 作为输入,返回这两个整数在二叉树中的最近公共祖先。在这个函数中,我们使用了一个循环,不断地将较大的数除以2,直到 x 和 y 相等。这是因为在这个二叉树中,一个节点的父节点总是它的一半,所以我们可以通过不断地将较大的数除以2来找到两个节点的最近公共祖先。

在`main`函数中,我们从用户那里获取输入的 x 和 y,调用`findCommonAncestor`函数找到他们的最近公共祖先,并打印出结果。

这个算法的时间复杂度是 O(log n),其中 n 是输入的节点的编号。这是因为在最坏的情况下,我们需要找到节点 1,这需要做 log n 次除法操作。因此,这个算法是非常高效的。

代码实现
#include <stdio.h>int findCommonAncestor(int x, int y) {while (x != y) {if (x > y) {x /= 2;} else {y /= 2;}}return x;
}int main() {int x, y;scanf("%d %d", &x, &y);printf("%d\n", findCommonAncestor(x, y));return 0;
}

http://www.15wanjia.com/news/168993.html

相关文章:

  • 建筑论坛网站没有自己的境外网站怎么做谷歌推广
  • 钱包网站建设什么叫软件外包公司
  • python3 做网站传统网站与营销型网站
  • 仿糗事百科网站韶关建设局网站
  • 临海市建设局官网站上传引用图片 网站
  • wordpress多站点内容聚合cnzz数据统计
  • 郑州做网站公司有哪些淘宝联盟 网站建设 内容少
  • 如何自己做资源网站电商网站设计与制作论文
  • 做课程的网站建设景区网站要有的内容
  • 方太产品站网站建设福田企业网站优化有用吗
  • 网站域名备案要多少钱wordpress导入文件太大
  • 泉州cms建站系统泰安市人才交流服务中心
  • 网站运营与管理论文抖音代运营服务方案
  • c 做彩票网站久久建筑网会员
  • 自己买空间做网站温州seo服务
  • 仁怀哪儿做网站黄岛网站建设哪家权威
  • 杭州教育网站建设深圳十大甲级装饰公司
  • 中文绿色环保网站模板下载商城网站制作网站
  • 鲁中网站网站建设营销话术
  • 网站建设代理商为某企业策划一次网络营销活动
  • 河南网站网站制作网站建设为什么必须有服务器
  • 织梦网站怎么做404页面青岛seo搜索优化
  • 自媒体交易网站开发网站怎么做图片动态图片
  • 做网站的无锡西宁做网站君博解决
  • 公司建设一个网站北京新站优化
  • 如何外贸网络推广扬州网站建设网站排名优化
  • 网站建设教程最新资讯安卓市场网站建设
  • 保定网站制作计划网站建设是什么?
  • 网站设计如何开始wordpress每篇文章加水印
  • 网站制作软件都是什么软件tk域名网站多少