码迷,mamicode.com
首页 >  
搜索关键字:满二叉树 完全二叉树    ( 1098个结果
完全二叉树 满二叉树
概念 结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层。 二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度。 数据结构中,树的度是什么?  它是树内各结点的度的最大值. 为何节点的度? 结点拥有的子树数称为结点的度。 二叉树 在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(r...
分类:其他好文   时间:2016-05-18 19:05:44    阅读次数:176
用C++实现堆排序
堆数据结构是一种数组对象,它可以被视为一颗完全二叉树结构。最大堆:每个父节点都大于孩子节点。最小堆:每个父节点都小于孩子节点。堆排序的思想:对于给定的N个数据,初始时把这些记录看作是一颗顺序存储的二叉树,然后将其调整为一个最大堆,然后将堆的最后一个元素与堆顶..
分类:编程语言   时间:2016-05-17 01:08:47    阅读次数:367
堆排序
一般说的堆都是二叉堆。 1. 首先,需要创建一个堆,二叉堆在结构上的特殊性(完全二叉树),使得我们可以用一个一维数组来保存它。例如: 这个堆就可以用 { 1, 3, 5, 7, 9 }来保存。那么在这个数据结构中,如何找到一个节点的两个子节点或者父节点呢? 只要用这个公式就可以了。父节点 = ( i ...
分类:编程语言   时间:2016-05-16 14:31:13    阅读次数:186
Treap模板
Treap是一种自平衡二叉搜索树,Treap=Tree+Heap. 在一棵二叉搜索树中插入元素的时候,位置是惟一的,但是由于插入的顺序不同,树的形状会不同.在树上进行操作的复杂度取决于树的深度,所以树越矮胖越好,我们称能保持矮胖身材的树为平衡树.最理想的是完全二叉树,此时的复杂度为O(logn),但 ...
分类:其他好文   时间:2016-05-16 14:12:37    阅读次数:199
数据结构-----堆的基本操作和应用
(一)用仿函数实现大堆小堆堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。堆结构的二叉树存储是最大堆:每个父节点的都大于孩子节点。最小堆:每个父节点的都小于孩子节点。仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operat..
分类:其他好文   时间:2016-05-13 05:19:40    阅读次数:179
二叉树(一)
树是n(n>=0)个有限个数据的元素集合,形状像一颗倒过来的树。1是树,无环路。2不是树,有环路。二叉树:二叉树是一棵特殊的树,二叉树每个节点最多有两个孩子结点,分别称为左孩子和右孩子。满二叉树:高度为N的满二叉树有2^N-1个节点的二叉树。完全二叉树:若设二叉树的深度..
分类:其他好文   时间:2016-05-13 05:09:07    阅读次数:257
堆的简单实现(仿函数)
堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。最大堆:每个父节点的都大于孩子节点。最小堆:每个父节点的都小于孩子节点。堆结构的二叉树存储是:代码实现如下:#pragmaonce #include<iostream> #include<vector> #include<assert.h> usin..
分类:其他好文   时间:2016-05-13 04:45:55    阅读次数:169
图解堆排序
摘要:       作为选择排序的改进版,堆排序可以把每一趟元素的比较结果保存下来,以便我们在选择最小/大元素时对已经比较过的元素做出相应的调整。       堆排序是一种树形选择排序,在排序过程中可以把元素看成是一颗完全二叉树,每个节点都大(小)于它的两个子节点,当每个节点都大于等于它的两个子节点时,就称为大顶堆,也叫堆有序; 当每个节点都小于等于它的两个子节点时,就称为小顶堆。     ...
分类:编程语言   时间:2016-05-13 01:18:32    阅读次数:177
HDU 1556 Color the ball
Description1..N 给出N个更新a, b [a, b]区间内所有数 + 1 最后问 1..N是多少Algorithm线段树 写了一个线段树的类 然后线段树的核心数组不能放在类里面,不然就爆炸了 于是放在线段树外 过了 此外JAVA TLE 写了C++的这个线段树是一个完全二叉树 用数组实现 (a数组) a中的每一个元素记录这个区间[l, r] 加的次数x 0号节点...
分类:其他好文   时间:2016-05-13 00:58:23    阅读次数:209
java实现算法之堆排序
本文参考文章:http://blog.csdn.net/morewindows/article/details/6709644 堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。 二叉堆满足二个特性: 1.父结点的键值总是大于或...
分类:编程语言   时间:2016-05-13 00:35:37    阅读次数:186
1098条   上一页 1 ... 67 68 69 70 71 ... 110 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!