jvm堆栈参数设置:-Xmx:设置最大堆大小;-Xms:设置最小堆大小;-Xss:设置栈大校栈最小默认1m静态代码块:随类的加载(且初始化,否则不执行)而执行且只执行一次。用来初始化静态变量静态代码块只能作为类的成员存在,Class.forName("java.lang.String");手动加载类Class.forNa..
分类:
其他好文 时间:
2016-05-09 22:21:49
阅读次数:
191
首先呢,先来了解一个何为堆?堆数据结构是一种数组对象,它可被视为一棵完全二叉树结构。堆结构的二叉树存储是:最大堆:每个父节点的都大于孩子节点最小堆:每个父节点的都小于孩子节点最大堆:a[]={19,17,18,14,16,13,15,12,10,11}最小堆:a[]={10,11,13,12,16,18,15,17,14,..
分类:
其他好文 时间:
2016-05-09 07:14:43
阅读次数:
115
-Xmx 堆初始空间 -Xmx5m -Xmx 最大堆空间 -Xmx20m -Xmn 新生代大小 一般为堆大小的1/3 到1/4 -XX:SurvivorRatio 新生代中 eden空间和from/to空间比例关系 -XX:NewRatio 新生代和老年代的比例 -XX:PermSize 初始永久区 ...
分类:
其他好文 时间:
2016-05-08 19:45:40
阅读次数:
159
堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。堆结构的二叉树存储是最大堆:每个父节点的都大于孩子节点。最小堆:每个父节点的都小于孩子节点。这是一个普通的堆,我们想把它变成最大堆,就必须了解最大堆的特点。然后我们对它进行调整,保证每个父节点的都大..
分类:
其他好文 时间:
2016-05-08 01:25:43
阅读次数:
241
堆排序算法时间复杂度为 O(nlgn)
堆从结构上讲,应该是一棵完全二叉树。在堆排序中一个很重要的概念是,维持最大堆的特性。最大堆就是每个节点的值比它左右孩子节点都要大。
我们首先将非叶子节点 都维持最大堆的特性一次。就是说保证非叶子节点它的左右孩子都比它的值要小。build_max_heap函数实现
其中,一个很重要的函数是max_heapify,它的功能是控制单个节点,保证它的孩子节点小...
分类:
编程语言 时间:
2016-05-07 08:53:38
阅读次数:
154
和前一题差不多,把归并排序换成了堆排序。要点还是每一次排序进行判断 开始犯了个错误 堆排序该用origin2 结果一直在排序origin ,误导了半天以为是逻辑错误。。。一直在检查逻辑 建立最大堆 排序并调整下滤 According to Wikipedia: Insertion sort iter ...
分类:
编程语言 时间:
2016-05-05 12:27:03
阅读次数:
347
二叉堆的概念
二叉堆,BinaryHeap,是二叉树中的常见的一种结构。通常以最大堆和最小堆的形式呈现。最大堆指的是父节点大于等于孩子节点的value值,也就是说对于最大堆而言,根元素是二叉堆最大的元素。最小堆的概念是与最大堆的概念是相似的。...
分类:
编程语言 时间:
2016-04-29 19:06:03
阅读次数:
235
堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构,所以堆也叫做二叉堆。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于..
分类:
其他好文 时间:
2016-04-29 02:04:34
阅读次数:
320
堆排序相对冒泡排序、选择排序效率很高,不再是O(n^2).假若将一个序列升序排序好,那么我们来考虑最大堆还是最小堆来排序。假若是最小堆的话,堆的顶端必定是堆中的最小值,这样貌似可以。但是,如果是它的(一边或)子树左子树的节点数据值大于(一边或)右子树的节点数据值..
分类:
编程语言 时间:
2016-04-27 14:24:44
阅读次数:
252
一、堆的概念堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。堆结构的二叉树存储是:最大堆:每个父节点的都大于孩子节点。最小堆:每个父节点的都小于孩子节点。堆栈中的物体具有一个特性:最后一个放入堆栈中的物体总是被最先拿出来,这个特性通常称为后进先出(..
分类:
其他好文 时间:
2016-04-27 14:18:25
阅读次数:
220