一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。...
分类:
其他好文 时间:
2014-11-27 01:30:42
阅读次数:
163
听说有一种最小(大)堆,不限于是完全二叉树,而是完全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
1、 类(class)是引用类型,在堆(heap)上分配地址 结构(struct)是值类型,在堆栈(stack)上分配地址(关于堆栈的运行速度执行优劣等这里就不详细说了,简单的可以理解成堆是硬盘,容量大,执行效率相对低,栈是内存,容量小,执行效率高。仅仅只是通过这样来方便理解)2、 类有默认的构.....
分类:
其他好文 时间:
2014-11-26 16:18:25
阅读次数:
123
在查看内存泄露以及对内存问题中,要dump出当前内存堆存储快照,便于分析。有几种方法可以做,简介如下一、intellij IDEA 由于我用的是intellij IDEA,所以没有介绍Eclipse的配置,当然网上有很多种。1、run->E...
分类:
其他好文 时间:
2014-11-26 13:32:17
阅读次数:
255
整理关于vector,array,heap,stack,string,queue,hash_map的相关操作
分类:
编程语言 时间:
2014-11-26 06:39:25
阅读次数:
219
栈区(stack)--由编译器自动分配释放,存放函数的参数值,局部变量的值。堆区(heap)---一般有程序员分配释放。全局区(静态区)(static)--全局变量和静态变量,程序结束后由系统释放。文字常量区--常量字符串存放在这里,程序结束后由系统释放。程序代码区---存在行数体的..
分类:
其他好文 时间:
2014-11-25 18:51:46
阅读次数:
136
之前在C++ primer这本书上没有看到关于优先队列的东西,最近在看A*算法中看到
总结一下
priority_queue的用法
priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似...
分类:
其他好文 时间:
2014-11-25 14:36:30
阅读次数:
307
SPFA + vector邻接表 居然TLE。 Time Limit: 8000MS
然后又是尝试一下 堆优化的Dijkstra + vector邻接表 果然还是TLE。
放弃vector,转为静态。
SPFA 1891MS
Dijkstra_heap 1938MS
突然发现以前做过这个题。搜一下自己的Blog SPFA + vector 7063MS 危险的过了……...
分类:
其他好文 时间:
2014-11-25 12:45:51
阅读次数:
194
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。...
分类:
其他好文 时间:
2014-11-24 16:37:48
阅读次数:
132
jhat 是Java堆分析工具(Java heap Analyzes Tool). 在JDK6u7之后成为标配. 使用该命令需要有一定的Java开发经验. jhat 命令解析Java堆转储文件,并启动一个 web server. 然后用浏览器来查看/浏览 dump 出来的 heap. jhat 命令支持预先设计的查询, 比如显示某个类的所有实例. 还支持 对象查询语言(OQL, Object Query Language)。 OQL有点类似SQL,专门用来查询堆转储。 OQL相关的帮助信息可以在 jhat ...
分类:
编程语言 时间:
2014-11-24 15:25:20
阅读次数:
570