原文:编程之美:求二叉树中节点的最大距离

.问题描述 写一个程序求一棵二叉树相距最远的两个节点之间的距离 如下图: .分析与解法 对于任意一个节点,以该节点为根,假设这个根有k个孩子节点,那么距离最远的两个节点U与V之间的路径与这个根节点的关系有两种。 .若路径经过Root,则U和V属于不同子树的,且它们都是该子树中到根节点最远的节点,否则跟它们的距离最远相矛盾 .如果路径不经过Root,那么它们一定属于根的k个子树之一,并且它们也是该 ...

2012-08-18 14:50 0 4451 推荐指数:

查看详情

二叉树节点最大距离编程之3.8)

问题定义 把二叉树看成一个图,父子节点之间的连线看成是双向的,定义“距离”为两个节点之间的边数。例如下图中最大距离为红线的条数为6. 分析 定义:过以节点x作为根节点的子树节点间的最大距离为Dis(x)。 上图,左图中Dis(根节点)最大,右图中Dis(根节点->left ...

Wed Feb 19 08:45:00 CST 2014 1 5038
【算法题目】二叉树节点最大距离

  如果我们把二叉树视为一个图,父子节点之间的连线视为双向的,我们姑且定义为“举例”为两节点之间边的个数。写一个程序一颗二叉树相距最远的两个节点之间的距离(《编程之》3.8) 思路:如果两个节点相距最远,一定是两个叶子节点,或者是一个叶子节点到它的根节点。    根据相距最远的两个 ...

Wed Aug 19 07:12:00 CST 2015 0 3260
二叉树进阶之一棵二叉树结点间最大距离

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6618074.html 二叉树的结点间距离:从结点A出发到达B,每个结点只能走一次,AB路径上的结点数就是AB间距离。 由于从一个结点出发时,只有两种方向可走:向上经过父节点到达它的兄弟 ...

Sun Mar 26 03:16:00 CST 2017 1 4057
二叉树 Java 实现 前序遍历 序遍历 后序遍历 层级遍历 获取叶节点 宽度 ,高度,队列实现二叉树遍历 二叉树最大距离

数据结构中一直对二叉树不是很了解,今天趁着这个时间整理一下 许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。 二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是 ...

Tue May 02 23:33:00 CST 2017 0 2056
算法题之二叉树最大距离

二叉树是一种非常经典的数据结构。如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序一棵二叉树相距最远的两个节点之间的距离。 下面我们随意构造出一棵二叉树,计算它的最大距离,如上图,节点之间单位距离为1,最大距离(红色线条 ...

Thu Apr 27 05:47:00 CST 2017 0 1213
层次遍历二叉树编程之3.10)

问题(假定根节点位于第0层) 1. 层次遍历二叉树(每层换行分开) 2. 层次遍历二叉树指定的某层 例如 上图中 1. 2. 可以看出得出第二问的解,第一问迎刃而解了,所以从问题二下手 分析与解 1. 层次遍历二叉树指定的某层 可以得出 ...

Fri Feb 21 07:58:00 CST 2014 1 11413
二叉树任意两个结点的距离

二叉树任意两个结点的距离 实现步骤: 计算跟到第一个结点的距离; 计算跟到第二个结点的距离; 计算lca; 计算跟到lca结点的距离; 结果为(1) + (2) - 2 * (4),因为重复计算了两次的从跟到lca结点的距离; 1 class ...

Sat Aug 12 08:20:00 CST 2017 1 1858
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM