我今天在处理topk问题的时候需要一个堆容器,翻了半天资料没找到,最后偶然看到了这张图: 啧啧啧,这张图上居然没有堆(heap)。 好像java中真的没有听说过堆这么个容器…… 只好自己动手丰衣足食了 接口: 实现: 最大堆: 最小堆: 其实最大堆和最小堆的区别只是改了下沉和上浮里面的两个大于小于号 ...
分类:
编程语言 时间:
2018-04-02 01:05:45
阅读次数:
180
Determine if the given integer array is min heap. ...
分类:
其他好文 时间:
2018-04-01 10:39:40
阅读次数:
185
L2-012. 关于堆的判断 将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种: “x is the root”:x是根结点; “x and y are siblings”:x和y是兄弟结点; “x is the parent of y”:x是y的父 ...
分类:
其他好文 时间:
2018-03-29 14:49:29
阅读次数:
117
Given a matrix of size N x M. For each row the elements are sorted in ascending order, and for each column the elements are also sorted in ascending o ...
分类:
其他好文 时间:
2018-03-29 13:27:47
阅读次数:
135
IPC,Inter-Processor Communication是SYS/BIOS处理核间通信的组件: IPC的几种应用方式: 1.最小使用(Minimal use) 这种情况是通过核间的通知机制(notification)来实施的,而一个通知所携带的信息是非常小的(一般是32bits),所以称为 ...
分类:
其他好文 时间:
2018-03-27 12:26:49
阅读次数:
214
Java把内存划分成两种:一种是栈内存,一种是堆内存。 栈(stack):是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量. 在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内(就是由{...}括起来的区域). 堆(heap):是一个可动 ...
分类:
编程语言 时间:
2018-03-24 19:31:11
阅读次数:
233
一、内存布局 1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量值等,其操作方法类似数据结构中的栈。 2、堆区(heap):一般由程序员分配释放,与数据结构中的堆毫无关系,分配方式类似于链表。 3、全局/静态区(static):全局变量和静态变量的存储是放在一起的,在程序编译时 ...
分类:
编程语言 时间:
2018-03-24 00:48:05
阅读次数:
188
查看整个JVM内存状态 jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起 查看JVM堆中对象详细占用情况jmap -histo [pid] 只打印活跃对象 jmap -histo[:live] <pid> 导出整个JVM ...
分类:
其他好文 时间:
2018-03-23 15:23:06
阅读次数:
128
ptmalloc内存分配和回收详解(文字版) 进程默认内存布局(x86) 从进程的内存布局可知,.bss段之上的这块分配给用户程序的空间被称之为heap,start_brk指向heap的开始,而brk指向heap的顶部。可以使用系统调用brk()和sbrk()来增加表示heap顶部的brk值,从而线 ...
分类:
其他好文 时间:
2018-03-22 01:47:33
阅读次数:
287
"题目链接 洛谷" "SPOJ" 将每次Solve的重心root连起来,会形成一个深度为logn的树,就叫它点分树吧。。 我们对每个root维护两个东西: 它管辖的子树中所有白点到它上一层(点分树中的fa[x])的距离(记为h1),以及它的所有子树中h1的最大值、次大值(这样就有答案了)(记为h2) ...
分类:
其他好文 时间:
2018-03-21 19:55:26
阅读次数:
189