1 求二叉树中相距最远的两个节点之间的距离 2 判断二叉树是否平衡二叉树 3 指定二叉树,给定两节点求其最近共同父节点 4 二叉树的广度遍历、逐层打印二叉树节点数据、只打印某层节点数据 5 在二叉树中找出和(叶子到根节点路径上的所有节点的数据和)为指定值的所有路径。 6 将二叉查找树转为有序的双链表 ...
分类:
其他好文 时间:
2016-04-27 12:31:13
阅读次数:
209
树和二叉树用来表示数据之间一对多的关系,而线性表,栈,队列都是线性的数据结构,用来表示一对一的关系。 树只有一个根节点,根也有子节点,子节点又对应多个或者一个子节点。 根节点没有父节点。 同一个节点有可能既是父节点,又是子节点。 普通节点含有子节点,叶子界面没有子节点。 节点:树的基本单位。 节点的 ...
分类:
其他好文 时间:
2016-04-26 01:53:12
阅读次数:
130
树 树是一种非线性的数据结构,是n(n>=0)个结点的有限集。 (1)在任意一棵树中,有且仅有一个特定的根节点。如图点A (2)节点拥有的子树数称为结点的度。图中A的度为3,C的度为1 (3)度为0的结点称为叶子或终端结点。如图KLM点 (4)度不为0的结点称为非终端结点或者分支结点。如图A B C ...
分类:
其他好文 时间:
2016-04-24 17:01:43
阅读次数:
133
堆排序 概念: 第一个非叶子节点: 小于size/2的部分; 非叶子节点的区间: [0, size/2); (注意是左闭右开) 最大堆:满足父节点head, arr[head]<=arr[2*head+1] && arr[head]<=arr[2*head+2] 非叶子节点的子树才需要调整(没有子节 ...
分类:
编程语言 时间:
2016-04-24 14:14:40
阅读次数:
254
//这是我在学数据库时写的C++的B树的实现.
B树有四个性质:
1.树中每个节点最多含有2m-1的节点;
2.除了根节点外,其他每个节点至少有m-1个孩子;
3.若根节点不是叶子节点则至少有2个孩子(即整个树只有根节点);
4.所有叶子节点都在同一层
#include
using namespace std;
static const int m = 3; //定义最小度为3
s...
分类:
编程语言 时间:
2016-04-24 11:16:04
阅读次数:
234
比较排序算法的时间复杂度是O(nlogn)的证明: 排序算法的比较是两两进行的,所以可以抽象成一棵二叉树,相互比较的数分别是左右叶子结点,,比较的结果存储在父节点中,依此类推。那么算法的时间复杂度就是取决于树的深度。如果要对n个数字进行比较排序,则需要进行n!次,即该二叉树有n!片叶子。 一棵深度为 ...
分类:
编程语言 时间:
2016-04-23 22:49:38
阅读次数:
668
1.组合模式 拿剪发办卡的事情来分析一下吧。 首先,一张卡可以在总部,分店,加盟店使用,那么总部可以刷卡,分店也可以刷卡,加盟店也可以刷卡,这个属性结构的店面层级关系就明确啦。 那么,总店刷卡消费与分店刷卡消费是一样的道理,那么总店与分店对会员卡的使用也具有一致性。 例子 那么加盟店就相当于叶子节点 ...
分类:
其他好文 时间:
2016-04-20 17:59:27
阅读次数:
149
二叉树:树的每个节点最多有两个子节点。我们看下它的结构,有二叉链表结构与三叉链表结构,具体结果如我摘自《C++Primer》中的图。相比之下,三叉链表的优势在于当我们知道父亲节点要找他的子女节点比较方便和便捷,反之当我们知道子女节点找它的父亲节点时也方便。下面,我实..
分类:
其他好文 时间:
2016-04-20 02:16:09
阅读次数:
227
http://www.acmerblog.com/inorder-tree-traversal-without-recursion-and-without-stack-5988.html 用叶子节点的空指针来记录当前节点的位置,然后一旦遍历到了叶子节点,发现叶子节点的右指针指向的是当前节点,那么就认 ...
分类:
其他好文 时间:
2016-04-19 15:41:20
阅读次数:
176
1.Question Description: ztree树各个节点都带有路径,如“/根节点”,"/根节点/一级节点",“根节点/一级节点/二级节点‘; 现在想获取所选的最末级节点数据集合。 2.Solution: 如下图所示 一小片逻辑的叶子收藏一下 ,哈哈!! ...
分类:
其他好文 时间:
2016-04-19 11:29:43
阅读次数:
192