字典树的删除操作:
1 没找到直接返回
2 找到叶子节点的时候,叶子节点的count标志清零,代表不是叶子节点了
3 如果当前节点没有其他孩子节点的时候,可以删除这个节点
判断是否需是叶子节点,就检查叶子节点的count标志就可以了。
判断是否有其他孩子节点就需要循环26个节点了,如果都为空,那么就没有其他孩子节点了。
#include
#include
#include ...
分类:
其他好文 时间:
2014-06-03 00:49:49
阅读次数:
279
赫夫曼树:
假设有n个权值{w1,w2,w3....},试构造一棵具有n个叶子节点的二叉树,每个叶子节点带权为wi,则其中带权路径长度最小的二叉树称为最优二叉树或者叫赫夫曼树。
构造赫夫曼树:
假设有n个权值,则构造出的赫夫曼树有n个叶子节点,n个权值分别设置为w1,w2,....wn,则赫夫曼树的构造规则为:
1.将w1,w2...看成是有n棵树的森林;
2.在森林...
分类:
其他好文 时间:
2014-06-02 18:54:17
阅读次数:
363
今天总结一下二叉树,要考离散了,求不挂!二叉树最重要的就是 建立、4种遍历方式,简单应用
二叉树分为 :1、完全二叉树 2、满二叉树
结构性质:
1).满二叉树 高度为h ,节点数则为 2^h - 1,且叶子节点全在最下层,且叶子节点数为2^(n-1)个{n代表二叉树层数,也叫深度}
2).n个节点的 完全二叉树 深度为 int(log2n)(以2为底n的对数...
分类:
其他好文 时间:
2014-06-01 17:18:03
阅读次数:
549
议题:线段树(Interval
Tree)分析:线段树是一种二叉搜索树,将一个大区间划分成单元区间,每个单元区间对应一个叶子节点;内部节点对应部分区间,如对于一个内部节点[a,
b]而言,其左子节点表示的区间为[a, (a+b)/2],其右子节点表示的区间为[1+(a+b)/2, b];对于区间长度...
分类:
其他好文 时间:
2014-05-29 01:33:28
阅读次数:
419
2-3-4树
定义
234表示一个节点可能还有子节点的个数,有以下三种情况:
有1个数据项的节点含有2个子节点有2个数据项的节点含有3个子节点有3个数据项的节点含有4个子节点
如果使用L表示子节点的个数,D表示数据项的个数,那么L=D+1,非叶子节点个数总比它数据项含有的数据项多1.
树的组织
节点中的数据项按照关键字升序排列。
搜索2-3-4树
从根开始查找,除非查找...
分类:
其他好文 时间:
2014-05-25 18:38:38
阅读次数:
184
代码太丑就不贴了,,又是一篇无责任民科的题解。。
HDU 4828 Grids
看了一下跟卡特兰数差不多就猜了一下,具体为啥我也不知道。。然后有除法套个逆元。。
HDU 4830 Party
发现这个除了叶子节点可能是环,剩下就是一棵树了(如果是单独的环,就用虚拟节点0来连接一下)
剩下就是环状树形dp。。...
分类:
其他好文 时间:
2014-05-25 07:23:48
阅读次数:
281
题目链接:uva 10253 - Series-Parallel Networks
题目大意:就是有n条线,通过并联或者是串联,形成一个整体,问说有n条线,可以组成多少种。
解题思路:大白书上的例题,解法还真是高端.dp[i][j]表示说每个树德叶子节点不大于i,一共有j个叶子。f[i]=dp[i-1][i],注意n为1的时候。
#include
#include
typede...
分类:
Web程序 时间:
2014-05-22 11:03:40
阅读次数:
402
红黑树概念
特殊的二叉查找树,每个节点上都有存储位表示节点的颜色是红(Red)或黑(Black)。时间复杂度是O(lgn),效率高。 特性:
(1)每个节点或者是黑色,或者是红色。 (2)根节点是黑色。 (3)每个叶子节点(NIL)是黑色。(只为空(NIL或null)的节点)
(4)如果一个节点是红...
分类:
其他好文 时间:
2014-05-18 01:38:25
阅读次数:
611
我们先来看一张之前整理过的一张二叉树的链式存储结构
1、每个数据域,都有2个指针域,分别指向该节点的左孩子、右孩子,但是每个节点前驱、后继,要知道的话需要遍历整棵树,这在时间上耗费很大。
2、另外,在叶子节点中,我们可以看到如图,每个节点都会浪费2块存储空间,N个节点的二叉树,2N个指针域,连接线为2N-1,那么会有2N-(N-1) = N+1个指针域浪费掉。
为了优化以上2...
分类:
其他好文 时间:
2014-05-15 13:30:19
阅读次数:
283
KDTree是每个节点都为k维点的二叉树。所有非叶子节点可以视作用一个超平面把空间分割成两部分。在超平面左边的点代表节点的左子树,在超平面右边的点代表节点的右子树。超平面的方向可以用(n mod k)...
分类:
其他好文 时间:
2014-05-15 13:05:27
阅读次数:
233