码迷,mamicode.com
首页 >  
搜索关键字:最小堆    ( 426个结果
Python3实现最小堆建堆算法
今天看Python CookBook中关于“求list中最大(最小)的N个元素”的内容,介绍了直接使用python的heapq模块的nlargest和nsmallest函数的解决方式,记得学习数据结构的时候有个堆排序算法,所以顺便研究了一下“堆”结构(这里特指二叉堆)。概念所谓二叉堆(binary ...
分类:编程语言   时间:2014-11-06 19:40:59    阅读次数:470
最小堆和最大堆的JAVA实现
/** * 文件名:BinaryHeap.java * 时间:2014年11月3日下午7:15:34 * 作者:修维康 */ package chapter6; import java.util.*; /** * 类名:BinaryHeap 说明:建立一个最小堆 */ class MinHeap> { private int currentSize; private stati...
分类:编程语言   时间:2014-11-04 17:24:55    阅读次数:189
第六章——堆排序
一 堆 堆给人的感觉是一个二叉树,但是其本质是一种数组对象,因为对堆进行操作的时候将堆视为一颗完全二叉树,树种每个节点与数组中的存放该节点值的那个元素对应。所以堆又称为二叉堆,堆与完全二叉树的对应关系如下图所示:二叉堆可以分为两种形式:最大堆和最小堆。在这两种堆中,结点的值都要满足堆的性质。在最大堆...
分类:编程语言   时间:2014-11-02 20:51:42    阅读次数:244
快速选择 - 快速排序算法在查找中的应用
如果要我们找出一个数组中的最小(最大)的元素,那么第一反应肯定是使用最小(最大)堆。时间复杂度等同于建堆的复杂度,这里是O(N)。如果要我们找出一个数组中的第k个最小的元素,那么我们依然可以使用最小堆,删除掉k次的最小值,就得到了结果。复杂度是O(N + klogN)。如果要我们找出一个数组的中值,...
分类:编程语言   时间:2014-10-31 15:18:15    阅读次数:248
在线求中位数
在线求第k个数做得多了,在线求中位数也是用堆,一个最大堆,一个最小堆。思想大概是这样子的:一个最大堆,一个最小堆,最大堆对应于前n/(n+1)个数,最小堆对应于后n/n+1个数;假设最大堆堆项元素为n1, 最小堆堆顶为n2, 则n1 s2, 那么:如果m >= n1, m插入到最小堆,s2=s2+....
分类:其他好文   时间:2014-10-30 16:46:15    阅读次数:198
堆排序
堆排序,就是利用二叉堆的特性来完成排序的工作。这里假定我们要完成对一个数组进行从小到大排序的工作,那么利用最小堆(见《二叉堆 - 最小堆》)的特性,对于一个已经建好的最小堆,我们每次以DeleteMin函数取出最小的元素,放入一个临时数组中,如此一来,就完成了对该数组的排序。时间复杂度的话,建立堆的...
分类:编程语言   时间:2014-10-29 18:42:11    阅读次数:164
二叉堆 - 最大堆
与上篇《二叉堆 - 最小堆》类似,只不过堆序(heap order)从内部节点小于左右子节点变成了内部节点大于左右子节点。代码如下: 1 #include 2 #include 3 4 #define MIN (1items =(Item*)malloc((maxItems+1)*si...
分类:其他好文   时间:2014-10-29 16:32:17    阅读次数:270
最小堆算法
最小堆算法: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 10 using namespace std; 11 12 #def...
分类:编程语言   时间:2014-10-29 14:40:51    阅读次数:247
二叉堆 - 最小堆
二叉堆:一般我们拿来用的就是最大堆和最小堆。最小堆:每个节点的值比它的左右子节点的值要大。代码实现如下:参考Mark Allen Weiss《数据结构和算法分析》(第二版) 1 #include 2 #include 3 4 #define MIN (1items =(Item*)ma...
分类:其他好文   时间:2014-10-28 23:55:06    阅读次数:997
数据结构排序问题---堆排序及各种排序时间空间复杂度
堆排序基本思路:根据完全二叉树,建立最大最小堆来排序时间复杂度:O(nlongn)/** * */package com;/** * @author wenb * @time 下午03:52:55 * @date 2014-10-24 */public class HeapSort { pu...
分类:编程语言   时间:2014-10-24 18:29:10    阅读次数:221
426条   上一页 1 ... 36 37 38 39 40 ... 43 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!