微软算法100道题-----求二叉树中节点的最大距离

原创 2015年11月20日 09:48:10

题目:

求二叉树中节点的最大距离...

如果我们把二叉树看成一个图,
父子节点之间的连线看成是双向的,
我们姑且定义"距离"为两节点之间边的个数。
写一个程序,
求一棵二叉树中相距最远的两个节点之间的距离。


思路:

求二叉树中节点最大距离,最大的距离可以分为两种情况;

第一种经过根节点,就是左子树最左节点到右子树的最右节点;

第二种就是在根节点的左子树或者右子树上,不经过根节点,但肯定经过自己子树的根节点;

所以这种题可以分为递归解

改为遍历树的节点,算出每个节点的两个节点的最大距离,

求每个节点的两个节点的最大距离的就是这个节点的最左子树距离加上最右子树距离;

然后递归每个节点,得出结果;

版权声明:本文为博主原创文章,未经博主允许不得转载。

二叉树系列——二叉树的最大距离(即相距最远的两个叶子节点,编程之美,百度面试题)

来自于编程之美3.8。 题目:如果我们把二叉树看做图,父子节点之间的连线看成是双向的,我们姑且定义“距离”为两个节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。 如下图所示...
  • liuyi1207164339
  • liuyi1207164339
  • 2016年03月15日 21:23
  • 4310

二叉树中节点的最大距离

微软面试题之一,难度系数中,题目描述如下: 求二叉树中节点的最大距离...  如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,  我们姑且定义"距离"为两节点之间边的个数。  写一个程序,...
  • pediy_yuhan
  • pediy_yuhan
  • 2014年01月21日 19:46
  • 5216

计算二叉树中最远节点距离

二叉树最远节点距离:以根节点为轴左右子树最大深度之和与以各个子树的根节点为轴左右子树的最大深度之和的较大者。思路一:解决这个问题最直接的方式就是遍历。对每个节点求深度,之后再与保存的最大深度maxde...
  • haofight
  • haofight
  • 2016年12月18日 00:14
  • 1231

二叉树的任意两节点间的最大距离

1.问题定义 如果我们把二叉树看成一个图,父子结点之间的连线看成是双向的,我们姑且定义“距离”为两节点之间边的个数。 写一个程序求一棵二叉树中相距最远的两个结点之间的距离 2.解法 计算一个二叉树...
  • patkritLee
  • patkritLee
  • 2016年08月09日 15:02
  • 1481

二叉树中节点的最大距离(java)

定义二叉树中节点的距离为节点之间边的个数。    一个二叉树中节点的最大距离由三部分综合求得:一部分是左子树中节点的最大距离,另一部分是右子树中节点的最大距离,最后一部分是左边的最大深度加上右边的最大...
  • a925907195
  • a925907195
  • 2015年07月19日 22:56
  • 2246

数据结构 - 求二叉树中结点的最大距离(C++)

// ------BTreeMaxNodeLength.cpp------ #include using namespace std; template struct BTNode { /...
  • chimomo
  • chimomo
  • 2014年11月11日 22:53
  • 1408

二叉树的最大路径和与最远结点距离

首先确定一下单路径的定义:某个结点的单路径就是只经过该结点且不同时包含其左右子树上的结点的路径 一、求连接二叉树的任意两个结点的路径的最大和 分析:对于二叉树上的每一个结点,求出经过它的路径的...
  • zhaopengnju
  • zhaopengnju
  • 2016年06月25日 20:58
  • 1942

微软面试100道之11 求二叉树中节点的最大距离

求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的, 我们姑且定义"距离"为两节点之间边的个数。 写一个程序, 求一棵二叉树中相距最远的两个节点之间的距...
  • sunping300208
  • sunping300208
  • 2013年09月17日 10:56
  • 370

微软100题第11题(求二叉树中节点的最大距离)

1scala版本 package ms import scala.util.Random /** * 第11题(树) 求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线...
  • hxpjava1
  • hxpjava1
  • 2017年01月17日 17:10
  • 423

Java二叉树排序及任意两点个节点间的最大距离

网上看到的基本都是c或c++实现的,参照同样的算法写了个java版的。 参考文章地址:http://blog.csdn.net/cxh342968816/article/details/665647...
  • yangxuan0261
  • yangxuan0261
  • 2013年11月28日 00:32
  • 1244
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微软算法100道题-----求二叉树中节点的最大距离
举报原因:
原因补充:

(最多只允许输入30个字)