前言:
之前写过一篇关于二叉搜索树的博客:Java对二叉搜索树进行插入、查找、遍历、最大值和最小值的操作
二叉查找树重要性质:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
如图:
这次我想分享的是二叉搜索树中节点是如何删除的,删除节点是二叉搜索树...
分类:
编程语言 时间:
2015-07-02 14:11:46
阅读次数:
190
问题判断一棵树是否是另一棵树的子树,如图思路问题分两步:找值相同的根结点(遍历解决)判断两结点是否包含(递归:值、左孩子、右孩子分别相同)树节点定义struct TreeNode{ int val; TreeNode *next; TreeNode(int v) : val(v),...
分类:
其他好文 时间:
2015-06-29 13:02:51
阅读次数:
136
这段代码主要实现了最优美的求二叉树节点深度以及遍历二叉树
分类:
其他好文 时间:
2015-06-26 21:07:13
阅读次数:
121
题目地址:POJ 1655
树的重心定义为:找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡.
树的重心可以用树形DP快速的找出来。
代码如下:#include
#include
#include
#include
#include ...
分类:
其他好文 时间:
2015-06-24 21:07:53
阅读次数:
133
1.1 DOM节点树1.2节点关系 DOM 教程 DOM 第一课 Hello world! 从上面的 HTML 中: 节点没有父节点;它是根节点 和 的父节点是 节点文本节点 "Hello world!" 的父节点是 节点并且: 节点拥有两个子节点: 和 ...
分类:
Web程序 时间:
2015-06-24 18:42:42
阅读次数:
170
加载数据库记录生成树节点(TreeNode),才1500多个记录就要用4分多钟,实在太慢,经过思考,减少了一些不必要的查询和赋值,速度提升得比较明显,可能是机器较旧,最终结果都不理想,当然,这个与自己的技术太烂...
分类:
数据库 时间:
2015-06-24 13:08:50
阅读次数:
121
1. 问题描述 计算完全二叉树的节点数。对于完全二叉树的定义可参考wikipedia上面的内容。2. 方法与思路 最简单也最容易想到的方法就是使用递归,分别递归计算左右子树的节点数的和。但此方法最容易超时,一般不可取。
int countNodes(TreeNode* root) {
if(root == NULL) return 0;
else if(ro...
分类:
其他好文 时间:
2015-06-22 16:31:48
阅读次数:
417
名称说明AfterCheck在选中树节点复选框后发生。AfterCollapse在折叠树节点后发生。AfterExpand在展开树节点后发生。AfterLabelEdit在编辑树节点标签文本后发生。AfterSelect在选定树节点后发生。AutoSizeChanged基础结构。此事件与该类无关。(...
分类:
其他好文 时间:
2015-06-18 16:35:34
阅读次数:
153
查找最小值的操作是很简单的,只需要从根节点递归的遍历到左子树节点即可。当遍历到节点的左孩子为NULL时,则这个节点就是树的最小值。
上面的树中, 从根节点20开始,递归遍历左子树,直到为NULL。因为节点4的左子树为NULL,则4就是树的最小值。
代码实现查找最小值:
Node * minValueNode(Node* node)
{
Node* current...
分类:
其他好文 时间:
2015-06-16 01:22:10
阅读次数:
177
题解:
首先构建虚树,然后在虚树上DP。
过程很简单。
先找出每个虚树节点 ii 旁边最近的询问节点 nearinear_i (因为有一些lca也被加入了虚树所以虚树节点不全是询问节点,呃怕你们不懂,但其实这是废话Qwq。)
然后对于每条链 [l,r][l,r],找出 [nearl,nearr][near_l,near_r] 中点,然后两边随便给一给就好了。。
代码:
#inclu...
分类:
其他好文 时间:
2015-06-15 22:17:07
阅读次数:
140