堆排序算法的时间复杂度为O(nlgn).在堆排序算法中,我们使用的是最大堆。(1)初始时候,堆排序算法利用BUILD-MAX-HEAP将输入数组A[1..n]建成最大堆。此时堆的根结点是最大元素,且该元素位于数组A[1]。接着将A[1]与A[n]互换,则可以将A[1..n]中的最大值置于A[n]。(...
分类:
其他好文 时间:
2014-07-22 23:16:35
阅读次数:
404
heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。
题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。
为了满足完全二叉树的性质,新插入的元素一...
分类:
其他好文 时间:
2014-07-22 23:04:53
阅读次数:
363
Windows 堆溢出MS 没有完全公开 Windows 的堆管理细节,目前对 Windows
堆的了解主要基于技术狂热者、黑客、安全专家、逆向工程师等的个人研究成果。目前 Windows NT4/2000 SP4
上的堆管理策略基本(与攻击相关的数据结构和算法)研究清楚。堆溢出的重要研究者:Hal...
分类:
其他好文 时间:
2014-05-05 23:41:54
阅读次数:
646
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数...
分类:
编程语言 时间:
2014-05-05 23:23:31
阅读次数:
499
缘起
线上有Tomcat升级到7.0.52版,然后有应用的JVM FullGC变频繁,在高峰期socket连接数,Cpu使用率都暴增。
思路
思路是Tomcat本身的代码应该是没有问题的,有问题的可能是应用代码升级,或者环境改变了,总之Tomcat的优先级排在最后。
先把应用的heap dump下来分析下:
jmap -dump:format=b,file=path pid
用IB...
分类:
其他好文 时间:
2014-05-03 21:42:36
阅读次数:
382
官方地址
Jvm gcih
出自Jvm
跳转到:
导航,
搜索
目录
[隐藏]
1
GC-Invisible Heap
1.1
什么是GCIH1.2
为什么要用GCIH
1.2.1
GCIH + Hesper + Forest线上测试结果对比
2
GCIH内存共享
2.1
有关GCIH内存共享2.2
GC...
分类:
编程语言 时间:
2014-05-01 17:39:58
阅读次数:
320
该文章从优先队列的角度分析并实现了斐波那契堆,并与二叉堆实现的优先队列进行了比较。...
分类:
其他好文 时间:
2014-04-30 22:47:38
阅读次数:
256
1. Java中堆栈(stack)和堆(heap)(1)内存分配的策略
按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.
静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代...
分类:
编程语言 时间:
2014-04-30 01:15:52
阅读次数:
624
如题,列出《随机算法》课程的topic
list,以记录和供有兴趣的朋友研究。Lession1:生日悖论、生日攻击、两个常用数学工具(马尔科夫不等式、切比雪夫不等式)Lession2:radom
quick sort(hw)、矩阵乘法判定、min(max())=max(min())、复杂性类(BPP...
分类:
其他好文 时间:
2014-04-29 16:16:55
阅读次数:
596
当在eclipse中的web工程中增加了extjs4,出现An internal error
occurred during: "Building workspace". Java heap space 错误。
解决办法1:把extjs4的工程安装包不要放到web工程中就ok了,或者建议直接用mye...
分类:
其他好文 时间:
2014-04-29 10:13:46
阅读次数:
401