码迷,mamicode.com
首页 >  
搜索关键字:满二叉树 完全二叉树    ( 1098个结果
《github一天一道算法题》:堆算法接口实现(堆排序、堆插入和堆取最值并删除)
看书、思考、写代码! /********************************************* * copyright@hustyangju * blog: http://blog.csdn.net/hustyangju * 题目:堆排序实现,另外实现接口:取堆最大值并删除、堆插入 * 思路:堆是在顺序数组原址上实现的,利用完全二叉树的性质,更具最大堆和最小堆的定义实...
分类:编程语言   时间:2014-11-21 12:42:16    阅读次数:171
平衡二叉树
平衡二叉树(AVL)是一种特殊的二叉搜索树,他满足两个性质:1. 此树是二叉搜索树2. 任意节点的左右子树高度差的绝对值不超过1这样是为了提高查询的效率,因为一般的二叉搜索树有可能不会是完全二叉树或者接近完全二叉树情况,有的甚至退化成链表,所以平衡二叉树将二叉树平衡一下,使得查询效率满足logn,主...
分类:其他好文   时间:2014-11-20 18:38:45    阅读次数:225
二叉堆
二叉堆我们知道堆栈是一种LIFO(后进先出)结构,队列是一种FIFO(先进先出)结构,而二叉堆是一种最小值先出的数据结构,因此二叉堆很适合用来做排序。二叉树的性质:二叉堆是一棵完全二叉树,且任意一个结点的键值总是小于或等于其子结点的键值,二叉堆采用数组来存储(按广度优先遍历的顺序),而没有像普通的树...
分类:其他好文   时间:2014-11-19 20:16:13    阅读次数:174
大-小顶混合堆的实现与应用(a min-max heap)
一般情况下我们使用的堆都是大顶堆或者小顶堆,其能实现在常数时间内获得数组的最大值或者最小值,同时满足在对数时间内删除和插入元素。但是如果要同时实现即能在常数时间内获得最大值和最小值,又能在对数时间内删除和插入元素,通常情况下的堆就不能满足上述要求了。为此介绍一种新的数据结构min-max heap min-max heap 是一颗完全二叉树,但是二叉树的奇数层存的是max元素,偶数层存的是min...
分类:其他好文   时间:2014-11-19 01:48:30    阅读次数:378
数据结构 之 二叉堆(Heap)
注:本节主要讨论最大堆(最小堆同理)。 一、堆的概念     堆,又称二叉堆。同二叉查找树一样,堆也有两个性质,即结构性和堆序性。     1、结构性质:     堆是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树(complete binary tree)。下图就是这样一个例子。         对于完全二叉树,有这样一些...
分类:其他好文   时间:2014-11-07 13:08:12    阅读次数:266
堆排序
堆排序堆排序是直接选择排序的一种改进算法,先将数组调整成一个堆,在将堆第一个元素最小元素和待排序区间最后一个元素交换。重新调整堆,重复执行n - 1次即可得到有序数组具体解释代码注释中有说明,注意完全二叉树的性质如i节点的左子树节点为2 * i是从1开始,不是从0开始。实现的时候需要注意一下Heap...
分类:编程语言   时间:2014-11-07 00:53:08    阅读次数:259
计算二叉树中叶子结点个数的方法
基础知识:1.二叉树第i层最多有2^(i-1)个结点。2.深度为k的二叉树至多有2^k-1个结点。一个完全二叉树有七百个结点,问该二叉树有多少个叶子结点根据“二叉树的第i层至多有2^(i ? 1)个结点;深度为k的二叉树至多有2^k ? 1个结点(根结点的深度为1)”这个性质:因为2^9-1 < 7...
分类:其他好文   时间:2014-11-06 19:21:48    阅读次数:350
二叉树学习之堆排序
认识堆是从堆排序开始的 二叉堆是完全二叉树或者是近似完全二叉树,堆存储在数组中: 根结点下标为0时,下标为n的元素的子结点下标分别为2*n+1,2*n+2,其父结点下标为(n-1)/2 二叉堆的特性: 1、父结点的键值总是>=( 2、每个结点的左右子树都是二叉堆 当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。 当父结点的键值总是小于或...
分类:编程语言   时间:2014-11-04 17:35:16    阅读次数:262
第六章——堆排序
一 堆 堆给人的感觉是一个二叉树,但是其本质是一种数组对象,因为对堆进行操作的时候将堆视为一颗完全二叉树,树种每个节点与数组中的存放该节点值的那个元素对应。所以堆又称为二叉堆,堆与完全二叉树的对应关系如下图所示:二叉堆可以分为两种形式:最大堆和最小堆。在这两种堆中,结点的值都要满足堆的性质。在最大堆...
分类:编程语言   时间:2014-11-02 20:51:42    阅读次数:244
二叉树逻辑结构重点
??                                    二叉树 1.满二叉树:在二叉树中所有的根结点都有左右子数。并且所有的叶子都在同一层上 2.完全二叉树:编号为i的结点与同深度的满二叉树中编号为i的元素位置相同。 3.满二叉树特点:   a.叶子只能出现在最下面一层;   b.只有度为0或2的 4.完全二叉树特点:   a.叶子只能出现在最下两层,且最下层的...
分类:其他好文   时间:2014-11-01 13:30:52    阅读次数:274
1098条   上一页 1 ... 97 98 99 100 101 ... 110 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!