码迷,mamicode.com
首页 >  
搜索关键字:小堆    ( 496个结果
【51NOD】数据流中的算法
【算法】数学 【题解】 1.平均数:累加前缀和。//听说要向下取整? 2.中位数:双堆法,大于中位数存入小顶堆,小于中位数存入大顶堆,保证小顶堆内数字数量≥大顶堆,奇数则取小堆顶,偶数则取两堆顶/2。 3.方差=(平方的均值)-(均值的平方),即对于a,b,c,s2=(a2+b2+c2)/3-((a ...
分类:编程语言   时间:2017-06-20 14:47:37    阅读次数:201
堆排序
堆排序:大堆排序就是将最大的数先进行排序,然后对剩下依次排序,自到堆里无未排序数据为止, 小堆排序,恰好相反, 用二叉树进行实现, 具体代码如下: 、 package com.qdcz.breadth.demo; /** * * <p>Title: HeapA</p> * <p>Descriptio ...
分类:编程语言   时间:2017-06-07 21:03:57    阅读次数:207
选择排序——2堆排序实现
/* * (最大)堆的向下调整算法 * * 注:数组实现的堆中,第N个节点的左孩子的索引值是(2N+1),右孩子的索引是(2N+2)。 * 其中,N为数组下标索引值,如数组中第1个数对应的N为0。 * * 参数说明: * a -- 待排序的数组 * start -- 被下调节点的起始位置(一般为0,... ...
分类:编程语言   时间:2017-06-03 11:27:25    阅读次数:235
堆排序
说白了,也就是大堆,或者小堆,通过删掉堆顶点,然后存入数组,来实现排序: 第一阶段:构建堆最多用2N次比较 第二阶段:第i次deleteMax最多用到2【logi】次比较, 总数最多2NlogN-O(N)次比较 代码: 1 #include <iostream> 2 #include <vector ...
分类:编程语言   时间:2017-05-20 00:08:16    阅读次数:229
jvm内存模型及分配参数
jvm内存模型 设置最大、最小堆内存 设置线程栈 设置新生代 设置持久代 取得堆快照(堆dump) 使用-XX:+HeapDumpOnOutOfMemoryError参数在程序发生OOM时,导出应用程序的当前堆快照。 通过参数-XX:HeapDumpPath可以指定堆快照的保存位置。 ...
分类:其他好文   时间:2017-05-18 12:41:09    阅读次数:229
堆排序
选择排序: 关键是找最小元的一步 普通选择排序都看一遍 时间复杂度O(N^2) 可用最小堆来优化 使时间复杂度降为O(NlogN) 算法1: T(N) = O(NlogN) 问题:需要额外O(N)空间 且复制元素需要时间 算法2: 调成最大堆 每次把最大的放到最后位置 堆的规模减1 然后调整最大堆 ...
分类:编程语言   时间:2017-05-18 09:45:07    阅读次数:243
vij 1097 贪心
合并果子 合并果子 合并果子 合并果子 合并果子 描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了 ...
分类:其他好文   时间:2017-05-17 23:39:59    阅读次数:246
215. Kth Largest Element in an Array
用heap解, 方法1. 维护一个 size = k 的最小堆。当前元如果大于堆顶的元素,那么说明堆顶的元素肯定小于kth largest element。所以replace他。 或者维护一个-nums的最小堆,从heap pop出第k个元素。那么这个数就是 -nums的第k小元素,也就是nums的 ...
分类:其他好文   时间:2017-05-15 12:03:28    阅读次数:159
数据结构 之 二叉堆(Heap)
注:本节主要讨论最大堆(最小堆同理)。 一、堆的概念 堆,又称二叉堆。同二叉查找树一样,堆也有两个性质,即结构性和堆序性。 1、结构性质: 堆是一棵被全然填满的二叉树。有可能的例外是在底层。底层上的元素从左到右填入。这种树称为全然二叉树(complete binary tree)。下图就是这样一个样 ...
分类:其他好文   时间:2017-05-14 12:22:30    阅读次数:126
Java与算法之(8) - 堆排序
堆是一种特殊的完全二叉树,其特点是所有父节点都比子节点要小,或者所有父节点都比字节点要大。前一种称为最小堆,后一种称为最大堆。 比如下面这两个: 那么这个特性有什么作用?既然题目是堆排序,那么肯定能用来排序。想要用堆排序首先要创建一个堆,如果对4 3 6 2 7 1 5这七个数字做从小到大排序,需要 ...
分类:编程语言   时间:2017-05-10 17:54:30    阅读次数:257
496条   上一页 1 ... 19 20 21 22 23 ... 50 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!