heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。
题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。
为了满足完全二叉树的性质,新插入的元素一...
分类:
其他好文 时间:
2014-07-22 23:04:53
阅读次数:
363
有向面积是矢量,它大小等于面积,但是带有方向,可以用右手定则求出方向。有向面积可以很方便的在坐标系中求出凸多边形的面积,及点与凸多边形的位置关系。
以三角形为例: 三角形的有向面积: Double area(double x0,double y0,double x1,double...
分类:
其他好文 时间:
2014-07-22 23:00:33
阅读次数:
272
最近编程时,发现一个针对HashMap的一个提示:
翻译过来就是:用SparseArray来代替会有更好性能。
那我们就来看看源码中SparseArray到底做了哪些事情:
一、构造
从构造方法我们可以看出,它和一般的List一样,可以预先设置容器大小,默认的大小是10:
[java] view
plaincopy
public Sp...
分类:
其他好文 时间:
2014-05-01 21:57:37
阅读次数:
483
虽然媒体元素可以实现音频和视频功能,但是并不是所有浏览器都支持video标签和audio标签的所有编解码器,这意味着开发人员必须提供很多歌媒体来源。在JavaScript API中能够检测浏览器是否支持某种格式和编解码器。这两个媒体元素都有一个canPlayType()方法,该方法接收一种格式/编解码器字符串,返回”probably”、”maybe”...
分类:
Web程序 时间:
2014-05-01 21:55:05
阅读次数:
408
一。
1.基类的私有成员仅在基类中可见,而在派生类中是不可见的,基类的私有成员可以由派生类继承,但在派生类中不可见
2.使用using声明可以改变成员在派生类中的访问权限。比如,基类中的共有成员在一般情况下被继承为共有成员,但使用using 声明可以将其改为私有成员...
分类:
其他好文 时间:
2014-05-01 18:57:11
阅读次数:
231
学习要点···理解回溯法的深度优先搜索策略···掌握用回溯法解题的算法框架: (1)递归回溯
(2)迭代回溯 (3)子集树算法框架 (4)排列数算法框架···应用范例:……回溯法:
回溯法有“通用的解题法”之称。用它可以系统的搜索一个问题的所有解或任一解。回溯法是一个既带有系统性又带有跳跃...
分类:
其他好文 时间:
2014-05-01 18:52:38
阅读次数:
538
逻辑备用DG
今天是2014-04-29,最近一直忙的事情,也没来的急写点东西。今天继续整理dg的相关内容,要说的是逻辑dg的创建过程和注意事项。
什么是逻辑dg呢?物理dg类似于主库的完整副本,是块对块的重做应用。但是对于逻辑dg,是类似采用日志挖掘技术将主库传来的redo数据,进行构造sql进而在备库进行应用。且备库可以正常打开,并能维护其他不是主库传送的需要维护的对象。
那么就...
分类:
其他好文 时间:
2014-05-01 18:02:53
阅读次数:
447
题目:
Given a sorted (increasing order) array, write an algorithm to create a binary tree with minimal height.
翻译:
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
思路:
要使二叉树的高度最小,则要尽量使其左右子树的节点数目相当,自然就考虑到将其构造成为二叉排序树,且将有序数组的中间大的数作为根节点,这样得到的二叉树的高度便是最小的。...
分类:
其他好文 时间:
2014-05-01 17:48:45
阅读次数:
321
Bandwidth是一款内存带宽基准测试程序,主要针对x86及x86_64平台,通过顺序读写与随机读写不同大小的数据块,测试系统的内存带宽性能。
Bandwidth提供了一套汇编语言实现的支持库,用来完成体系结构相关的特定操作,例如读取某些寄存器的内容。
Bandwidth利用该汇编库,检测当前系统CPU的型号及支持的特性,并选择相应的工作模式,如笔者机器的CPU为:...
分类:
其他好文 时间:
2014-05-01 17:12:45
阅读次数:
457
大数乘法的步骤(先戳我看看大数加法的思想):
首先是输入2个数据,并且逆序,还要去掉前导0。比较大小:
相等的话,结果为0。前者大于后者,则直接进行减法运算。前者小于后者,则用后者减去前者,最后在结果前面添上负号。
从最高位开始输出结果。
#include
#include
#define MAX 1000
using namespace std;
void InputNu...
分类:
其他好文 时间:
2014-04-30 22:17:40
阅读次数:
231