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

题目:

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

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


思路:

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

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

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

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

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

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

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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ice_time1/article/details/49943131
文章标签: 算法 微软
个人分类: 算法
想对作者说点什么? 我来说一句

二叉树中节点最大距离

2008年05月25日 286KB 下载

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭