实现一个O(lgn)的最大堆优先队列的delete操作。Heap-Delete(A,i)操作能够将节点i从对中A删除。代码说明:假如删除序号为i的节点,那么我们先把最后的节点,放到i中去,然后对i进行堆维护,即向下维护堆,然后此时得到的序号为i的值向下能满足堆的性质,但向上不一定可以,所以我们再向上...
分类:
编程语言 时间:
2015-03-01 14:27:44
阅读次数:
180
今天,Mayuyu来介绍Go语言中一个重要的东西,叫做container。具体源码可以参考Go语言的源代码,如下
路径:/usr/local/go/src/pkg/container
container的结构如下
可以看出包含三部分:heap,list和ring。下面分别介绍
1. heap
heap即为堆,是一种常用的数据结构...
分类:
编程语言 时间:
2015-02-28 18:45:35
阅读次数:
247
最近想测试下Openfire下的最大并发数,需要开大量线程来模拟客户端。对于一个JVM实例到底能开多少个线程一直心存疑惑,所以打算实际测试下,简单google了把,找到影响线程数量的因素有下面几个:-Xmsintial java heap size-Xmxmaximum java heap size...
分类:
其他好文 时间:
2015-02-28 18:35:16
阅读次数:
137
JAVA内存管理总结1.java是如何管理内存的Java的内存管理就是对象的分配和释放问题。(两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。 释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简...
分类:
编程语言 时间:
2015-02-28 16:24:43
阅读次数:
256
1. treap
众所周知, treap = tree + heap
也就是 treap 是具有堆性质的平衡二叉树(BST), 而堆性质的维护就靠一个随机值和旋转操作. 可以是小根堆也可以是大根堆.
在代码实现上, 左旋和右旋有太多的相似处, 可以用一个带旋转方向参数的 rotate 操作来完成.
模板...
分类:
其他好文 时间:
2015-02-28 14:34:03
阅读次数:
152
【情况一】: java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: -Xms3062m -Xmx3062m 【情况...
分类:
编程语言 时间:
2015-02-27 14:50:15
阅读次数:
149
ByteBuffer有两种一种是heap ByteBuffer,该类对象分配在JVM的堆内存里面,直接由Java虚拟机负责垃圾回收,一种是direct ByteBuffer是通过jni在虚拟机外内存中分配的。通过jmap无法查看该快内存的使用情况。只能通过top来看它的内存使用情况。JVM堆内存大小...
分类:
其他好文 时间:
2015-02-26 21:30:14
阅读次数:
124
排序分类: 内部排序:就是将需要处理的所有数据都加载到内部存储器中进行排序 交换式排序法:是运用数值较后,依判断规则对数据位置进行交换,以达到排序的目的冒泡排序法(Bubble Sort)快速排序法(Quick Sort) 选择式排序法:选择排序法(Select Sort) 堆排序法(Heap S....
分类:
编程语言 时间:
2015-02-26 21:26:49
阅读次数:
156
G1垃圾收集器概述 一步步介绍G1 G1收集器采用一种不同的方式来分配堆. 下面通过图解的方式一步步地讲述G1系统. 1. G1的堆内存结构 堆内存被划分为固定大小的多个区域. 每个heap区(Region)的大小在JVM启动时就确定...
分类:
其他好文 时间:
2015-02-26 18:50:00
阅读次数:
269
An Python implementation of heap-sortbased on the detailed algorithm description in Introduction to Algorithms Third Editionimport randomdef max_heap....
分类:
编程语言 时间:
2015-02-25 22:19:46
阅读次数:
185