题目大意 求树中每个点到任意点的最长距离 思路 该距离有两种,一种是经过父亲节点的,一种是子树里的 定义dp[x][0/1]表示x到叶子节点的最大距离和次大距离 dp[x][2]表示经过父亲节点的最长路径 dp[x][2]可以是先走到父亲节点,再走到父亲的其他儿子,也可能是走到父亲节点再走到父亲的父 ...
分类:
其他好文 时间:
2018-10-02 17:34:32
阅读次数:
143
1. 二叉树的遍历:先序(递归、非递归),中序(递归、非递归),后序(递归、非递归)。 2. 获取二叉树节点个数: 3. 判断二叉树是否为完全二叉树: 4. 求二叉树两个节点的最小公共祖先: 5. 二叉树的翻转: 6. 求二叉树第k层的节点个数: 7. 求二叉树中节点的最大距离(相距最远的两个节点之 ...
分类:
编程语言 时间:
2018-08-28 17:57:22
阅读次数:
179
如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义 " 距离 " 为两节点之间边的个数。写一个程序,求一棵二叉树中相距最远的两个节点之间的距离,求二叉树中节点的最大距离 分析: 先画几个不同形状的二叉树,从例子中可以看出,相距最远的两个节点,一定是两个叶子节点,或者是一个叶子节 ...
分类:
其他好文 时间:
2018-04-23 16:34:50
阅读次数:
174
题目描写叙述 假设我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义“距离”为两个节点之间的变数。 写一个程序求一棵二叉树中相距最远的两个节点之间的距离。 输入要求 输入的第一行包括单独的一个数字T,表示測试序列的数目; 下面每一行为一个測试序列,測试序列是按先序序列输入字符 ,假 ...
分类:
其他好文 时间:
2017-06-26 23:50:14
阅读次数:
155
11.求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的, 我们姑且定义"距离"为两节点之间边的个数。 写一个程序, 求一棵二叉树中相距最远的两个节点之间的距离。 错误思想:分别找左右子树到根的最深结点,相加。 错误原因:左子树上的左右子树到根的最深结点相加大
分类:
编程语言 时间:
2016-03-10 21:48:38
阅读次数:
212
题意: 给一个图, 将其节点以任一序列排列。 1)计算每个节点距离相邻节点的最大距离 dis[i] 2)计算出当前序列中, 所有节点的dis[i], 并求出最大的dis[i] : max_dis 求最小的max_dis, 并且输出此序列。 节点数不超过8个思路: 节点数不超过八个, 那直...
分类:
其他好文 时间:
2015-10-29 16:05:02
阅读次数:
227
今天做了一题求二叉树节点的最大距离,顺便写了下二叉树的建立,遍历的过程。
我觉得这题的主要思想是深度遍历+动态规划,我们在深度遍历的过程中,对于某一个子树,求出左右子树叶子节点到根节点的最大距离,进而求出经过根节点的最大距离。 最后求出所有子树经过根节点的最大距离。就是这个题目的最终结果。代码如下:
//二叉树的建立,以及遍历
//16 14 8 2 -1 -1 4 -1 -1 7 1 -...
分类:
其他好文 时间:
2015-08-27 13:24:15
阅读次数:
227
如果我们把二叉树视为一个图,父子节点之间的连线视为双向的,我们姑且定义为“举例”为两节点之间边的个数。写一个程序求一颗二叉树中相距最远的两个节点之间的距离(《编程之美》3.8)思路:如果两个节点相距最远,一定是两个叶子节点,或者是一个叶子节点到它的根节点。 根据相距最远的两个节点一定是叶子节...
分类:
编程语言 时间:
2015-08-19 00:11:29
阅读次数:
222
距离即为节点间的边数。code:struct Node
{
Node* left;
Node* right;
int nmaxleft;
int nmaxright;
int vhvalue;
};int ans;//答案int findmaxval(Node* root)
{
if (root == NULL) return;
if (roo...
分类:
其他好文 时间:
2015-08-01 06:28:29
阅读次数:
105
《编程之美》读书笔记12:3.8求二叉树中节点的最大距离问题:如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。实际上就是求树的直径。若采用“动态规划方法”思想,会将该问题分解成“具有最大距离两...
分类:
其他好文 时间:
2015-07-28 18:22:39
阅读次数:
109