算法算法
文章平均质量分 73
jiaych
这个作者很懒,什么都没留下…
展开
-
B树
<br /> B树<br />B树是为磁盘或其他直接存储设备设计的一种平衡查找树。如下图所示。每一个结点箭头指向的我们称为入度,指出去的称为出度。树结构的结点入度都是1,不然就变成图了,所以我们一般说树的度就是指树结点的出度,也就是一个结点的子结点个数。有了度的概念我们就简单定义一下B树(假设一棵树的最小度数为M):<br />1.每个结点至少有M-1个关键码,至多有2M-1个关键码;<br />2.除根结点和叶子结点外,每个结点至少有M个子结点,至多有原创 2010-09-13 14:31:00 · 940 阅读 · 0 评论 -
Trie树|字典树的简介及实现
<br />Trie树|字典树的简介及实现<br />Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。<br />相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.<br />其基本性质可以归纳为:<br />1. 根节点不包含字符,除根节点外每一个节点都只包含一个字符。<br />2.原创 2010-09-13 14:38:00 · 749 阅读 · 0 评论 -
一个文件中有40亿个整数,每个整数为四个字节,内存为1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数
<br />4个字节表示的整数,总共只有2^32约等于4G个可能。<br />为了简单起见,可以假设都是无符号整数。<br />分配500MB内存,每一bit代表一个整数,刚好可以表示完4个字节的整数,初始值为0。基本思想每读入一个数,就把它对应的bit位置为1,处理完40G个数后,对500M的内存遍历,找出一个bit为0的位,输出对应的整数就是未出现的。<br />算法流程:<br />1)分配500MB内存buf,初始化为0<br />2)unsigned int x=0x1;<br /> for e原创 2010-10-08 16:29:00 · 5188 阅读 · 0 评论