二叉堆:
二叉堆是完全二叉树或者是近似完全二叉树。
二叉堆满足二个特性:
1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。
2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。
当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆
堆排序:
由二叉堆的定义可知,堆顶元素(即...
分类:
其他好文 时间:
2014-07-23 22:34:19
阅读次数:
193
堆数据结构是一种数组对象,它可以被视为一颗完全二叉树,树中每个节点和数组中存放该节点值的那个元 素对应。如果表示堆的数组为A,那么树的根为A[1]。
一、 堆
1. 表示堆的数组A是一个具有两个属性的对象:length(A)是数组中的元素个数,heap-size(A)是存放在A中的堆的元素个数;A[heap-size(A)]之后的元素都不属于相应的堆。也就是:Heap-size(A)。
2....
分类:
其他好文 时间:
2014-07-08 20:23:53
阅读次数:
222
最大堆是一种很有用的数据结构,它是一颗完全二叉树,并且如果一个节点有儿子节点,其关键字都不小于其儿子节点的关键字。(最小树反之:节点值不大于儿子节点的完全二叉树。) 最大堆使用的一个典型的地方就是找出无序数字中,最大的一个数字。比如100亿整数中找出最小的前100个数字,典型的解决方案之一就是...
分类:
其他好文 时间:
2014-07-06 19:17:07
阅读次数:
127
年轻代 年老代概念 http://jefferent.iteye.com/blog/1123677JVM的堆的内存,是通过下面面两个参数控制的-Xms最小堆的大小,也就是当你的虚拟机启动后,就会分配这么大的堆内存给你-Xmx是最大堆的大小当最小堆占满后,会尝试进行GC,如果GC之后还不能得到足够的内...
分类:
编程语言 时间:
2014-07-03 06:44:31
阅读次数:
275
-server
-Xms8g
初始堆大小
-Xmx8g
最大堆大小
-Xmn2g
年轻代大小
-Xss1024K
每个线程的堆栈大小
-XX:PermSize=256m -XX:MaxPermSize=512m
Perm不属于堆内存,由虚拟机直接分配,可通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小
设置持久代(perm gen)初始...
分类:
其他好文 时间:
2014-07-02 15:19:30
阅读次数:
207
堆设置-Xmx3550m:设置JVM最大堆内存为3550M。-Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xss128k:设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根...
分类:
其他好文 时间:
2014-06-28 11:21:49
阅读次数:
183
堆排序思想:
堆排序,顾名思义,就是基于堆。堆分为最大堆和最小堆,其实就是完全二叉树。最大堆要求节点的元素都要大于其孩子,最小堆要求节点元素都小于其左右孩子,两者对左右孩子的大小关系不做任何要求,其实很好理解。有了上面的定义,我们可以得知,处于最大堆的根节点的元素一定是这个堆中的最大值。其实我们的堆排序算法就是抓住了堆的这一特点,每次都取堆顶的元素,将其放在序列最后面,然后将剩余的元素重新调整为...
分类:
编程语言 时间:
2014-06-24 15:43:29
阅读次数:
193
问题定义这个问题来自网上看到的百度算法题,感觉很不错,问题定义如下:假定有20个有序数组,每个数组有500个数字,降序排列,数字类型32位uint数值,现在需要取出这10000个数字中最大的500个,怎么做?解决方法这里其实有很多解决方法,笨拙的或者巧妙的。这里介绍一个非常不错的方法,使用最大堆堆排...
分类:
其他好文 时间:
2014-06-21 11:28:25
阅读次数:
188
最近做题目饱受打击,愈发觉得打好基础的重要性,于是乎,决心把基本的排序算法还有数组操作一一实现,目的在于一方面能够得到对JAVA基础的巩固,另一面在实现的过程中发现不足。 今天所实现的堆排序(最大堆)算法,最小堆大同小异。然后基于最大堆实现最大优先队列,最大优先队列可应用于作业调度,比如可将作...
分类:
编程语言 时间:
2014-06-18 09:52:16
阅读次数:
327
2014.06.15 22:14简介: 堆是一种非常实用的数据结构,其中以二叉堆最为常用。二叉堆可以看作一棵完全二叉树,每个节点的键值都大于(小于)其子节点,但左右孩子之间不需要有序。我们关心的通常只有堆顶的元素,而整个堆则被封装起来,保存在一个数组中。图示: 下图是一个最大堆: 实现: 优...
分类:
编程语言 时间:
2014-06-16 13:16:58
阅读次数:
230