堆的定义:1)完全二叉树,2)每个结点的值都大于其左右孩子结点的值。根据堆的定义可知,最大值就是根结点,其次就是根结点左右孩子结点中的一个……
堆排序有两个很重要的过程:1)建堆,2)堆维护。实质上,这两个过程都可以通过一个函数来实现。
void HeapAdjust(SqList* list, int obj, int length)
{
int tmp = lis...
分类:
编程语言 时间:
2015-06-30 08:58:41
阅读次数:
143
基本思想堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以看作是对选择排序的改进。
通常堆是通过一维数组来实现的。在起始数组为0的情形中:
父节点i的左子节点在位置(2*i+1);
父节点i的右子节点在位置(2*i+2);
子节点i的父节点在位置floor((i-...
分类:
编程语言 时间:
2015-06-29 13:27:03
阅读次数:
172
一、什么是堆
堆是具有如下性质的完全二叉树。每个节点大于或者等于其左右孩子结点的值,称为大顶堆。
或者每个结点的值都小于或者等于左右孩子结点的值,称为小顶堆。
二、如果通过堆排序
由堆的定义可以知道,在堆中,顶点最大(或者最小)。我们就可以把堆顶拿出来,再把剩下的再次组成堆。然后再拿出堆顶。
这样就实现排序啦。
还需要解决两个问题:
(1)如何把一凌乱的数据组成堆
(2)把...
分类:
编程语言 时间:
2015-06-23 12:02:28
阅读次数:
155
1. 问题描述 计算完全二叉树的节点数。对于完全二叉树的定义可参考wikipedia上面的内容。2. 方法与思路 最简单也最容易想到的方法就是使用递归,分别递归计算左右子树的节点数的和。但此方法最容易超时,一般不可取。
int countNodes(TreeNode* root) {
if(root == NULL) return 0;
else if(ro...
分类:
其他好文 时间:
2015-06-22 16:31:48
阅读次数:
417
1、二叉树结点编号在一棵n个结点的完全二叉树中,从树根起,自上层到下层,每层从左至右,给所有结点编号,能得到一个反映整个二叉树结构的线性序列。
编号特点
2、二叉树性质...
分类:
其他好文 时间:
2015-06-22 11:09:34
阅读次数:
119
box2d dynamic treedynamic tree 是一颗 full binary trees, 即非叶子节点必须有两个子节点(注:full binary trees和大学老师讲的满二叉树,完全二叉树不同)那么如果构建树?先看源码 while (m_nodes[index].IsLeaf(...
分类:
其他好文 时间:
2015-06-20 20:44:49
阅读次数:
249
给定一棵完全二叉树的头节点head,返回这棵树的节点个数。如果完全二叉树的节点数为N,请实现时间复杂度低于O(N)的解法。分析:遍历的话不管是前序、中序、后序还是层次都是O(N),低于O(N)只能是O(lgN),向二分方向努力。完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺...
分类:
其他好文 时间:
2015-06-19 23:00:56
阅读次数:
219
本实验的目的是学习和掌握分类回归树(CART)算法。CART提供一种通用的树生长框架,它可以实例化为各种各样不同的判定树。CART算法采用一种二分递归分割的技术,将当前的样本集分为两个子样本集,使得生成的决策树的每个非叶子节点都有两个分支。因此,CART算法生成的决策树是结构简洁的二叉树。在MATLAB平台上编写程序,实现了非剪枝完全二叉树的创建、应用以及近似剪枝操作。...
分类:
其他好文 时间:
2015-06-19 20:19:39
阅读次数:
1244
二叉树的遍历方法有多种,最常用的有中序遍历、先序遍历和后序遍历。毫无例外,这三种遍历方法都是基于递归/迭代的思想为了更好的说明三种遍历,结合图片。假设现在存在{1,3,5,7,9,2,4,6,8,10}的一个完全二叉树中序遍历:遍历时先尝试访问当前结点的左子结点,如果左子结点不存在,则读取当前结点的...
分类:
其他好文 时间:
2015-06-14 18:10:42
阅读次数:
147
去写很多,每个已对二进制树的主题,其中大部分都在完全二叉树,在哥斯达黎加的心脏完全然而二叉树一直很模糊的形式,原因是,我完全糊涂了二进制和满二叉树。实际上满二叉树是二叉树的一种特殊情况完全,由于满二叉树满。虽然完全不能代表全。所以,你应该想象塑造出它,外每一个节点都有两个孩子。而全然的含义则是最后一...
分类:
其他好文 时间:
2015-06-12 08:39:58
阅读次数:
127