"嘟嘟嘟" 这种计数大题就留给南方的计数神仙们做吧…… 刚开始我一直想枚举点,考虑新加一个点在根节点的左右子树,以及左右子树大小怎么分配,但是这样太难计算新的点带来的贡献了。 后来lba又提示我枚举边,考虑每一条边的贡献。 这确实是一个好主意,枚举边的同时考虑边两侧的点数,但可怕的是我一直把他当成无 ...
分类:
移动开发 时间:
2019-03-28 00:38:50
阅读次数:
185
1、递归 想到用递归。涉及到左右子树比较,或者对称性等需要挨个节点比较。 写好递归结束条件。递归结束条件一般是root==null或者root1==null&&root2==null 处理好边界条件。可能会在边界上踩坑,可以特事特办采用特殊条件过滤。 1.1 一个树的递归 https://leetc ...
分类:
其他好文 时间:
2019-03-26 22:54:56
阅读次数:
320
L3-016 二叉搜索树的结构 (30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树。(摘自百度百科) 给定一系列互不相等的整 ...
分类:
其他好文 时间:
2019-03-26 13:39:51
阅读次数:
161
题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 平衡二叉树:任意节点的左右子树的深度相差不超过1。 测试序列 解题思路 1)判断每个节点的左右子树的深度差是否不超过1。不建议该代码。因为是从root节点开始遍历,会存在每个节点遍历多次的情况。 2)每个节点遍历一遍的情况;使用后序遍历。增加 ...
分类:
其他好文 时间:
2019-03-25 21:54:33
阅读次数:
203
题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 测试序列 功能测试(输入普通的二叉树;二叉树的左右节点都没有左/右子树) 特殊输入测试(只有一个节点;空树) 解题思路 1)递归方法,取左右子树最大的深度+1。根节点也 ...
分类:
其他好文 时间:
2019-03-25 20:43:37
阅读次数:
183
搬运自我的CSDN https://blog.csdn.net/u013213111/article/details/88670399 1.定义 二叉树的每个节点有一个数据成员和两个指针,两个指针分别指向左、右子树。 2.创建一个只含有根节点的空二叉树 注意要将根节点的左、右子树初始化为NULL。 ...
分类:
其他好文 时间:
2019-03-24 00:22:41
阅读次数:
175
树的遍历: 关键在与如何利用中序和后序建树。 中序的作用,提供了左右子树的所有节点的分布! 前序,后序的作用:就是第一个元素(最后一个元素)提供了根节点,让中序找到子树的分布情况。 玩转二叉树: 这里的改变只是在建树的时候,把原本左子树放在实际的右子树上,原本的右子树放在左子树上。 ...
分类:
其他好文 时间:
2019-03-22 22:58:48
阅读次数:
321
描述 解析 根与根比较,左右子树互相递归比较即可。 代码 ...
分类:
其他好文 时间:
2019-03-22 00:32:36
阅读次数:
87
题目: 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值; 其右子树中所有结点的键值大于等于该结点的键值; 其左右子树都是二叉搜索树。 所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。 给定一个整数键值序列,现请你编写 ...
分类:
其他好文 时间:
2019-03-10 20:39:46
阅读次数:
155