heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。
题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。
为了满足完全二叉树的性质,新插入的元素一...
分类:
其他好文 时间:
2014-07-22 23:04:53
阅读次数:
363
OJ题目:click here~~
题目分析:n个数,从中取若干个数,和为n的倍数。给出一种取法。
因为只要给出其中一种方案就行,鸽笼原理可以求出取出的数为连续的方案。
关于鸽笼原理,点这里~
直接贴过来:
有n+1件或n+1件以上的物品要放到n个抽屉中,那么至少有一个抽屉里有两个或两个以上物品。
如果你知道这个结论:
a1,a2,a3...am是正整数序列,至少存在整数k和r,...
分类:
其他好文 时间:
2014-07-22 23:04:32
阅读次数:
258
ConcurrentHashMap关键方法分析...
分类:
其他好文 时间:
2014-05-01 22:11:33
阅读次数:
402
Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表。Redis小到可以存储几万记录的CACHE,大到可以存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大。Redis的核心数据结构就是字典(dict),dict在数据量不断增大的过程中,会遇到HASH(key)碰撞的问题,如果DICT不够大,碰撞的概率增大,这样单个hash 桶存储的元素会越来愈多,查询效率就...
分类:
其他好文 时间:
2014-05-01 21:56:59
阅读次数:
398
用久了ubuntu的人,很多人会忽然出个提示:磁盘空间不足1G! 然后分析半天。。最近也碰到类似问题,记录如下:
一:.xsession-errors.old
可以在终端看到主用户目录下有这么一个隐藏文件,我看到的时候 大小有22G左右!网上查了,说这个文件是因为我们本机与server之间通信错误的记录集合,会不断的增加记录。
有人提议可以写个脚本定期删除这个文件,这样太麻烦了,可以...
分类:
其他好文 时间:
2014-05-01 18:21:57
阅读次数:
346
在memory.c里面,遇到一个宏定义,如下:
#define CODE_SPACE(addr) ((((addr)+4095)&~4095) start_code + current->end_code)
看的第一眼,不知道,第二眼,还是不知道,纠结了半天还是不知道。
睡了一晚,今天早上再看,嘿嘿,居然看懂了。。。
这个宏定义用于判断给定的addr线...
分类:
系统相关 时间:
2014-05-01 17:54:09
阅读次数:
516
Given a collection of numbers, return all possible permutations.
For example,
[1,2,3] have the following permutations:
[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2],
and [3,2,1].
分析:暂时不用...
分类:
其他好文 时间:
2014-05-01 17:06:52
阅读次数:
348
真正的负载均衡,需要计算的东西太多,要计算连接线程数,要计算CPU使用率等,而这一切都需要你在程序中体现。实现难度相对来说会好大!
除非你用第三方服务软件来实现,SQL现阶段来说,这样的软件不多,公司也未必会进行投资。
所以我自己分析了一下代码级的负载均均衡。...
分类:
数据库 时间:
2014-04-30 22:32:39
阅读次数:
347
首先,让我们看一看Android
Log的格式。下面这段log是以所谓的long格式打印出来的。从前面Logcat的介绍中可以知道,long格式会把时间,标签等作为单独的一行显示。
[ 12-09 21:39:35.510
396: 416 I/ActivityManager ]
Start proc
net.coollet.infzmreader:umengService_v1 for...
分类:
移动开发 时间:
2014-04-30 22:18:39
阅读次数:
523
以下内容摘自《步步惊芯——软核处理器内部设计分析》一书
EXCEPTION模块的作用
为了便于说明,在进行具体指令分析之前,给出在异常处理类指令执行过程中涉及到的主要模块连接关系,如图7.1所示,图中的大部分模块在前几章分析指令的时候都有所涉及。但在本章会使用不同的输入输出接口。该图仍然采用模块左边是输入接口,右边是输出接口的绘制方式,这样做的好处是一目了然知道哪些...
分类:
其他好文 时间:
2014-04-30 22:14:40
阅读次数:
441