码迷,mamicode.com
首页 >  
搜索关键字:小堆    ( 496个结果
最小堆算法
最小堆算法: 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
P – FULL TANK?
题目大意:给定一张图,和每个点的油价,知道每条路的耗油量,给定一些询问,求从起点到终点用指定油箱容量的车所得到的最小耗费。 解题思路:BFS+优先队列 优先队列介绍:采用stl中的priority_queue实现。priority_queue默认的是最大优先队列,声明时只要priority_queue q就行了。如果是最小堆,麻烦一些 priority_queue,cmp> q。其中cmp函...
分类:其他好文   时间:2014-10-24 14:45:31    阅读次数:205
java最小堆实现优先权队列和求最大的n个数问题
堆在实现优先权队列和求最大最小的n个数问题上,有这莫大的优势! 对于最大堆和最小堆的定义此处不再赘述,课参考网上文章:http://blog.csdn.net/genios/article/details/8157031 本文主要是对最小堆进行实现和应用,仅供菜鸟参考。 优先权队列 优先权队列是一种非常有用的数据结构,操作系统的进程调度就有优先权队列的应用,如果用最小值表示最高的优...
分类:编程语言   时间:2014-10-22 18:16:13    阅读次数:244
poj 2833 The Average
题目链接:http://poj.org/problem?id=2833思路:由于数据量较大,超出存储范围,使用不能使用数组存储数据在进行排序。考虑维护一个最大堆与最小堆,依次读取数据,记录数据中的n1个最大数字与n2个最小数据,所有数据累计和减去堆中数据即可。注:注意使用记录n2个最大数据要使用最小...
分类:其他好文   时间:2014-10-22 06:18:49    阅读次数:106
poj 1442 Black Box
题目链接:http://poj.org/problem?id=1442思路:维护一个最小堆与最大堆,最大堆中存储最小的K个数,其余存储在最小堆中代码:#include#includeusing namespace std;struct cmp1{ bool operator() ( cons...
分类:其他好文   时间:2014-10-22 00:26:42    阅读次数:223
求给定数据中最小的K个数
public class MinHeap { /* * * Top K个问题,求给定数据中最小的K个数 * * 最小堆解决:堆顶元素为堆中最大元素 * * * */ private int MAX_DATA = 1...
分类:其他好文   时间:2014-10-21 19:04:46    阅读次数:253
算法导论 第6章 堆排序(简单选择排序、堆排序)
堆数据结构实际上是一种数组对象,是以数组的形式存储的,可是它能够被视为一颗全然二叉树,因此又叫二叉堆。堆分为下面两种类型:大顶堆:父结点的值不小于其子结点的值,堆顶元素最大小顶堆:父结点的值不大于其子结点的值,堆顶元素最小堆排序的时间复杂度跟合并排序一样,都是O(nlgn),可是合并排序不是原地排序...
分类:编程语言   时间:2014-10-20 21:14:02    阅读次数:239
拓扑排序输出
拓扑排序如果是随便输出的话,那么只需要用一个队列就可以维护了。复杂度O(n)如果是要求字典序最小输入的话,使用小堆维护,正常建边即可。复杂度O(nlog(n))如果要求尽量使最小值在前输出的话(例如312 优先级高于 231)那么可以反向建边,然后在使用大堆维护,最后把顺序reverse()下。复杂...
分类:编程语言   时间:2014-10-20 13:10:27    阅读次数:202
496条   上一页 1 ... 43 44 45 46 47 ... 50 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!