二叉树两节点的最短路径(Homework2 of Advanced Network)
来源:互联网 发布:怎样做淘宝客赚钱 编辑:程序博客网 时间:2024/05/18 03:09
问题:按层序从root节点开始给一个完全二叉树标号,对任意两个节点,求其最短路径。
描述:二叉树的最短路径问题可以转化为求两个节点最小公共父节点问题,而两节点到最小公共父节点的路径即为所求。
代码如下:
#include<iostream>using namespace std;int main(){ int A,B; //两个节点 cout<<"Please Enter:"<<endl; cin>>A>>B; //输入两个节点 if(A > B) { A = A^B; B = B^A; A = A^B; } //确保A<B int FA,FB; //定义父节点 FA = A/2; FB = B/2; while(FA != FB) //求A,B的最小父节点 { if(FA <FB)FB = FB/2; else FA = FA/2; } while(A >= FA) //输出A到父节点路径 { cout<<A<<" "; A = A/2; } int S[100]; int i = 0; while(B >= FA) //存入父节点到B路径 { S[i] = B; B = B/2; i++; } for(i = i-1;i--;i>=0)cout<<S[i]<<" "; //输出父节点到B路径 return 0; }
- 二叉树两节点的最短路径(Homework2 of Advanced Network)
- 二叉搜索树的最短路径,从根节点到叶子节点
- 二叉树系列——二叉树中任意两个节点之间的最短路径
- 图的最短路径(一)-两节点间最短路径
- 二叉树中两节点之间最短路径
- 二叉树的最长/最短路径
- 如何求二叉树中两个节点的最短路径。
- LeetCode-111-Minimum Depth of Binary Tree(二叉树的最短路径)
- 图的最短路径算法(二)-任意节点最短路径
- 给一棵搜索二叉树,然后给出一个从跟到叶节点的最短的路径之和。
- 所有节点对的最短路径
- 给定一棵二叉树,找到它的最小深度。最小深度是从根节点到最近叶节点的最短路径上的节点数量
- 一个ArcGIS网络分析的最短路径例子||A Network Analyst Shortest Route of ArcGIS
- Floyd-Warshall算法---求解任意两节点的最短路径
- 最短路径的两种算法
- poj 2499 计算二叉树的“最短”路径 -> 贪心
- LeetCode : 求二叉树的最短路径
- C# 实现最短二叉树路径
- 1.10、-观察者模式(上)
- win7桌面我的电脑右键“管理”不管用
- ARM CORTEX-M4处理器 面向高性能数字信号控制领域
- win7后安装的程序图标显示问题
- 检查内存泄漏的工具
- 二叉树两节点的最短路径(Homework2 of Advanced Network)
- Java Concurrent Lock ReentrantLock简介
- delphi7 激活问题
- 国际化/格式化标签
- LPC2103 PLL设置及GPIO操作
- ssky-keygen + ssh-copy-id避免ssh/scp每次输入密码
- 深入研究java.lang.ThreadLocal类
- 《乔布斯传》读后感
- VS2008生成安装文件全集