定义一个二叉树节点的数据结构如下:typedef struct TREE_NODE{ TREE_TYPE value; struct TREE_NODE *pLeft; struct TREE_NODE *pRight;}TreeNode;插入节点的原型为:void insert(...
分类:
其他好文 时间:
2015-04-06 15:41:10
阅读次数:
161
二叉树节点
#pragma once
#include
templateclass BinaryTreeNode
{
public:
T data;
BinaryTreeNode* leftchild;
BinaryTreeNode* rightchild;
BinaryTreeNode():leftchild(NULL),rightchild(NULL){}
BinaryTreeN...
分类:
其他好文 时间:
2015-03-31 18:14:41
阅读次数:
166
线段树
注意:线段树维护的元素 与
线段树的节点不一样。
线段树整体维护的是从1到n下标的元素(当然也可以维护0到n-1号元素或者其他任意一个区间的元素)但是拥有1到大约3*n的树节点,每个树节点维护一段[L,R]的区间内所有的元素信息(没有0号树节点,因为如果你要指定0号树节点为根的话,那么i号树节点的左右儿子就不是i*2节点和i*2+1节点了)。而树节点中每个节点i都有它需要维护的区间[...
分类:
其他好文 时间:
2015-03-20 12:59:48
阅读次数:
202
function Node(data, left, right) //定义二叉树节点,包括节点上存储的数据,指向左右子节点的指针{ this.data = data; this.left = left; this.right = right; this.show = show...
分类:
编程语言 时间:
2015-03-18 15:25:51
阅读次数:
171
1.把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14/ \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树 节点的数据结构如下:s...
分类:
编程语言 时间:
2015-03-13 08:10:49
阅读次数:
147
树的重心,EASY题。树的重心定义为:找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡. 实际上树的重心在树的点分治中有重要的作用,可以避免N^2的极端复杂度(从退化链的一端出发),保证NlogN的复杂度,利用树型dp可以很好地求树的重心...
分类:
其他好文 时间:
2015-03-11 22:59:37
阅读次数:
133
1 #include 2 using namespace std; 3 4 5 6 //AVL树节点信息 7 template 8 class TreeNode 9 { 10 public: 11 TreeNode():lson(NULL),rson...
分类:
其他好文 时间:
2015-03-07 21:15:39
阅读次数:
217
开学A的第一道题还是1A,感觉还是很开心。设dp[i][k]为以i为子树的情况下变成一个子树节点为k的最少需要减掉的边数。那么对每个子树背包就可以了,注意的是刚开始需要将dp[a][1] = a != 1?num[a]-1:num[a];的意思是把a的与孩子连的边全部去掉时的情况,然后一步一步背包加...
分类:
其他好文 时间:
2015-03-02 18:55:36
阅读次数:
136
Description给出一棵树,树节点的颜色初始时为白色,有两种操作:0 x:把x号节点颜色取反1 x:询问1到x路径上第一个黑点编号Solution最近想练练剖分和线段树,于是想到来做做Qtree系列,不会Lct嘤嘤嘤>_<这题比较裸,直接剖分然后维护区间最浅的黑色点标号就可以了注意到把1当做根节点,其实剖分后每个区间左区间显然是更浅的,如果有黑点直接统计答案就可以了Code#include <...
分类:
其他好文 时间:
2015-02-23 21:17:36
阅读次数:
219
依旧是《训练指南》上的一道例题。书上讲的比较抽象,下面就把解法具体一下。因为涉及到父子关系,因此自然而然可以将n个节点构造成一棵树,最后将形成一个森林。接下来将使用递归的手法。设f(i)是以节点i为树根的子树,节点i有儿子c1,c2,c3....cj共j棵子树。s[i]为树根为i的子树包含的节点数。如果分别先给各个子树内部排序,那么毫无疑问,
共有f(c1)*f(c2)*f(c3)....*f(...
分类:
其他好文 时间:
2015-02-19 18:40:24
阅读次数:
267