注:本节主要讨论最大堆(最小堆同理)。一、堆的概念 堆,又称二叉堆。同二叉查找树一样,堆也有两个性质,即结构性和堆序性。 1、结构性质: 堆是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树(complete binary tree)。下图就是这样一个例...
分类:
其他好文 时间:
2014-11-28 15:49:09
阅读次数:
238
听说有一种最小(大)堆,不限于是完全二叉树,而是完全D叉树,名为D-ary Heap(http://en.wikipedia.org/wiki/D-ary_heap)。D可以是1,2,3,4,100,对于优先队列该有的功能都没有问题。 动手写一个D-ary Heap,应该不难。简单起见,不考虑...
分类:
其他好文 时间:
2014-11-27 00:00:48
阅读次数:
519
Java虚拟机内存有好几个运行时数据区会有OOM的异常,如果能够区分根据报错区分出是哪些区域报出来的异常,会更便于定位问题,解决问题。1.Java堆溢出 原因:由于不断创建对象实例,当对象数量达到了最大堆的容量限制后产生内存溢出异常。 现象:java.lang.OutOfMemoryError: J...
分类:
其他好文 时间:
2014-11-21 16:08:51
阅读次数:
168
看书、思考、写代码!
/*********************************************
* copyright@hustyangju
* blog: http://blog.csdn.net/hustyangju
* 题目:堆排序实现,另外实现接口:取堆最大值并删除、堆插入
* 思路:堆是在顺序数组原址上实现的,利用完全二叉树的性质,更具最大堆和最小堆的定义实...
分类:
编程语言 时间:
2014-11-21 12:42:16
阅读次数:
171
优化推荐系统的JVM关键参数-Xmx设定Java允许使用的最大堆空间。例如-Xmx512m表示堆空间上限为512MB-server现代JVM有两个重要标志:-client和-server,分别为客户端程序(运行时间短、占用资源少)和服务器端程序(长时间运行、资源密集型)选择合适的JVM配置。-d32...
分类:
其他好文 时间:
2014-11-11 15:55:12
阅读次数:
255
注:本节主要讨论最大堆(最小堆同理)。
一、堆的概念
堆,又称二叉堆。同二叉查找树一样,堆也有两个性质,即结构性和堆序性。
1、结构性质:
堆是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树(complete binary tree)。下图就是这样一个例子。
对于完全二叉树,有这样一些...
分类:
其他好文 时间:
2014-11-07 13:08:12
阅读次数:
266
http://www.quiee.com.cn/archives/592/websphere选择服务器->应用程序服务器->Server1->进程定义->Java虚拟机。滚动到初始堆大小和最大堆大小字段并设置值。单击确定以保存更改
分类:
Web程序 时间:
2014-11-05 10:32:11
阅读次数:
285
认识堆是从堆排序开始的
二叉堆是完全二叉树或者是近似完全二叉树,堆存储在数组中:
根结点下标为0时,下标为n的元素的子结点下标分别为2*n+1,2*n+2,其父结点下标为(n-1)/2
二叉堆的特性:
1、父结点的键值总是>=(
2、每个结点的左右子树都是二叉堆
当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。
当父结点的键值总是小于或...
分类:
编程语言 时间:
2014-11-04 17:35:16
阅读次数:
262
/**
* 文件名: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