几个概念:
完全二叉树:是指除叶子节点那层外,叶子节点以上的第k层都含有2k2^k个节点而且叶子节那层的节点都靠左方。
满二叉树:与完全二叉树先比,多了连叶子节点也要全满的限制条件。
堆的代码实现(数组实现):int heap[10000], sz = 0;void push(int x) { //向堆里面增加元素X
int i = sz++, p;
while(i > 0)...
分类:
其他好文 时间:
2015-04-17 22:22:15
阅读次数:
202
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4267
题意:题目中有两种操作
1.每隔k点更新;
2.查询最底层的叶子节点的值;
思路:因为k不是固定的,但是k的范围又很小,只有1-10,所以我们不妨在每个区域都开一个数组来标记不同的k,代表从最左端的那个点开始,在此区域内,每隔k个点都是有效点。要注意的是,每个区域的起始位置的那个点一定要...
分类:
其他好文 时间:
2015-04-17 11:40:11
阅读次数:
99
B-TREE索引 一个B树索引只有一个根节点,它实际就是位于树的最顶端的分支节点。可以用下图一来描述B树索引的结构。其中,B表示分支节点,而L表示叶子节点。 对于分支节点块(包括根节点块)来说,其所包含的索引条目都是按照顺序排列的(缺省是升序排列,也可以在创建索引时指定为降序排列)。每 个索引条目(...
分类:
数据库 时间:
2015-04-16 12:16:18
阅读次数:
181
使用组合模式的场景; -- 把部分和整体的关系用树形结构来表示,从而使客户端可以使用统一的方式处理部分对象和整体对象。核心: -- 抽象构件(Component)角色:定义了叶子和容器构件的共同点 -- 叶子(Leaf)构件橘色:无子节点 -- 容器(Composite)构件角色: 有容器特...
分类:
其他好文 时间:
2015-04-15 18:36:24
阅读次数:
114
树的结构,如果不能保持平衡,那么其搜索性能会大大打折扣,而本节课介绍了几种经典的平衡树,如AVL,2-3-4tree,红黑树等等,然后着重讲了红黑树,接下来就红黑树的基本性质,作一些简短的总结。
首先,红黑树除了具有BST的基本性质外,还额外拥有以下的五大基本性质:
1)每个结点有一个色域,一个结点要么为黑结点,要么为红结点
2)根节点为黑结点
3)每个叶子结点都为黑结点(无键值...
分类:
编程语言 时间:
2015-04-14 21:37:52
阅读次数:
159
红黑树红黑树五个性质:(1)节点是红色或者黑色(2)根节点为黑色(3)每个叶子节点为黑色(4)每个红色节点的两个子节点均为黑色(5)从任意节点到每个叶子节点的所有路径均包含相同数目的黑色节点。红黑树最重要的性质:从根到叶子节点的最长可能路径不多于最短可能路径的两倍长。红黑树大致上是平衡的,因此插入、...
分类:
其他好文 时间:
2015-04-14 21:29:13
阅读次数:
134
线索二叉树?什么是线索二叉树呢?一棵二叉树的左右叶子节点,注意是叶子节点,叶子的左结点和右结点一般为空,为了有效地利用其左右结点,我们将左结点指向他的前驱,将右结点指向他的后继!如图:
创建线索二叉树,遍历线索二叉树代码:
#include
#include
typedef char ElemType;
//线索存储标志位
//Link(0) 表示指向左右孩子的指针
//Thread...
分类:
其他好文 时间:
2015-04-14 16:45:13
阅读次数:
146
给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。1、路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分....
分类:
其他好文 时间:
2015-04-14 14:33:20
阅读次数:
96
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1117跟挑战程序书上例题一样,将要切割的n断木板,分别对应二叉树树的叶子节点,则切割的总开销为木板的长度×节点的深度,可以画图理解,那么最短的木板(L1)应当是深度最大的叶子...
分类:
其他好文 时间:
2015-04-13 14:17:28
阅读次数:
171