每天学习一算法系列(11) (求二叉树中节点的最大距离)
来源:互联网 发布:奖状证书制作软件 编辑:程序博客网 时间:2024/05/16 09:52
题目:求二叉树中节点的最大距离.
如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。
写一个程序,求一棵二叉树中相距最远的两个节点之间的距离。
题目来源于:http://topic.csdn.net/u/20101011/16/2befbfd9-f3e4-41c5-bb31-814e9615832e.html
思路一:
题目要求一颗二叉树中两个节点之间的最大距离,由于父子节点之间边是双向的,所以这道题转换为求左子树的最大深度 + 右子树的最大深度就是二叉树中节点的最大距离。
例如:以下一颗树:
5
/ /
4 8
/ /
7 12
/
10
那么它的最大距离为4,即:4-->5-->8-->12-->10.其中"-->"的个数就是最大的距离数4.
代码如下:
思路二:
其实想法跟思路一是类似的,具体实现看以下代码,不过你会发现下面的实现没有比思路一中的实现更为容易理解。
代码如下:
- 每天学习一算法系列(11) (求二叉树中节点的最大距离)
- 每天学习一算法系列(34)(求一个二叉树中任意两个节点间的最大距离,两个节点的距离的定义是这两个节点间边的个数)
- 算法:求二叉树中两个节点的最大距离
- 11、求二叉树中节点的最大距离...
- 11、求二叉树中节点的最大距离
- 11 求二叉树中节点的最大距离
- 求二叉树中节点的最大距离(递归)
- 算法习题11:求二叉树中节点的最大距离
- 求二叉树中节点的最大距离(递归算法)
- 求二叉树中节点的最大距离算法(C)
- 二叉树系列---求二叉树中两个节点之间的最大距离
- 【二叉树】求二叉树中节点的最大距离
- 求二叉树节点最大距离的非递归算法
- 求二叉树中节点最大距离
- <仅是自己做笔记。。。系列-2>求二叉树中节点的最大距离
- 微软面试100题系列---求二叉树中节点的最大距离
- 微软100题第11题(求二叉树中节点的最大距离)
- 3.8求二叉树中节点的最大距离
- 圆圈中的无忧位与绝望位
- PowerDesigner中如何给字符串字段设置默认值
- 【转】 一位软件工程师的6年工作总结
- 笔记
- Ubuntu 10.04(64位)下载并编译 Android 2.2 源码[只有11条命令]
- 每天学习一算法系列(11) (求二叉树中节点的最大距离)
- Java NIO Pipe
- 如果没有大局的视野,你看的越细,你摔得也越痛
- 解决IE8的Sysfader错误问题
- DesignGUI:Balsamiq Mockups
- eclipse 调试 gstreamer 设置环境
- Android 启动另外activity并返回结果
- 转:为 CentOS 升级 PHP 到 5.2.x
- Exchange2010安装前准备脚本