bitmap是一种简单的数据结构,但在存储空间压缩方面却使用广泛。
bitmap就是用一个bit位来标记某个元素是否存在:1表示存在,0表示不存在;而2-bitmap就是用两个bit为来标记某个元素出现的次数:00出现0次,01出现1次,10出现2次及其以上,11无意义。
2-bitmap在内存中的表示如下:
[0] [1] [2] ……
|00 00 00 00|00 00 00 00|00 00 ...
分类:
其他好文 时间:
2014-06-29 07:29:20
阅读次数:
300
数据结构相当于内功,但是学习内功,最好已经会使用一种武器了,而这种武器就是C,JAVA等等的开发语言。内功学好了,才能开始学习学习高深的武功,这里的武功便是算法。我们都知道内功不够深厚,直接去学高深的武功,会走火入魔的。因此正确地方法就是,先挑选一门简单顺手的语言去练练,感觉一下,就可以开始练习内功了,基本功一定要扎实。不然以后太高深的内功心法(高深的数据结构)都无法驾驭。内功差不多了,就可以加入...
分类:
其他好文 时间:
2014-06-20 12:52:33
阅读次数:
155
我们知道要实现单链表,必须要有指针,那么像Java这样没有指针的的语言就略显蛋疼了。
没关系,我们有静态链表,其本质就是用采用数组的方式实现单链表的功能。
1,静态链表其实是单链表的另一种实现方式
2,静态链表的实现“媒介”不是指针而是数组
3,静态链表主要用于不支持指针的程序设计语言中
4,静态链表的实现是一种内存管理的简易方法...
分类:
编程语言 时间:
2014-06-20 11:30:38
阅读次数:
227
上学期数据结构课上写的一个二叉树类,贴出来,写得不是太好,欢迎高手指点。
struct BiNode//定义节点类型
{
char data;
BiNode *lchild;
BiNode *rchild;
};
class BiTree
{
private:
BiNode *root;
public:
BiTree()
{
root=NULL;
}
~BiT...
分类:
其他好文 时间:
2014-06-20 11:19:10
阅读次数:
193
无向边:若顶点Vi 到Vj 的边没有方向,则称这条边为无向边,用无序偶对来表示...
分类:
其他好文 时间:
2014-06-20 10:18:38
阅读次数:
329
通过阅读 OpenJDK 的 java.util.ArrayDeque ,学习底层是数组,且数组可变大小的双端队列的实现细节。...
分类:
其他好文 时间:
2014-06-20 09:38:40
阅读次数:
186
先求出最小生成树,然后枚举树上的边,对于每条边“分别”找出这条割边形成的两个块中点权最大的两个
1.由于结果是A/B,A的变化会引起B的变化,两个制约,无法直接贪心出最大的A/B,故要通过枚举
2.不管magic road要加在哪里,加的边是否是最小生成树上的边,都会产生环,我们都要选择一条边删掉
注意删掉的边必须是树的环上的边,为了使结果最大,即找出最大的边
3.可以枚举两点,找出边,也...
分类:
其他好文 时间:
2014-06-20 09:09:03
阅读次数:
233
通过开源软件学数据结构:HsqlDB中HashMap的实现!...
分类:
数据库 时间:
2014-06-07 13:00:58
阅读次数:
319
这么炫酷的数据结构简直飘逸到不行,竟然在这么狂躁的状态下过了一遍基础题型,略浪费。
强项:在一维的情况下可以完成区间查询,更新,翻转,子区间的增删,确定前驱后即,总是一句话线段树能做的它就能做,线段树不太好做的他也能很方便的实现。
弱项:没有办法向更高维度扩展(反正本渣没有想出来),这也是一个局限吧。代码太长. . . . . 太致命了。
伸展操作:核心操作,通过一系列的旋转将某个节点旋...
分类:
其他好文 时间:
2014-06-07 12:53:50
阅读次数:
210
实现不相交集合数据结构的几种方式:
单纯的快速查找:
若id相同则在一个集合中,下图中,( 2, 3, 4, 9 )为一集合, 3 和 6 不在一个集合中
合并集合时,需逐个比较将两个集合的 id 统一,慢
缺陷:
合并慢
==================================================
2.单纯的快速合并:...
分类:
其他好文 时间:
2014-06-07 12:47:33
阅读次数:
266