算法
文章平均质量分 55
ying_seven
这个作者很懒,什么都没留下…
展开
-
位图排序
这种表示法一般符合3个属性:1、输入范围相对要小2、不包含重复数据3、没有数据与单个整数(主键)以外的每一记录相关联Jon Bentley给出的实现#define BITSPERWORD 32#define SHIFT 5#define MASK 0x1f#defien N 10000000//如果要连续的静态内存空间 还是数组比较好 我用的时候用的是malloc//感觉没有数组好 而且 malloc还容易忘free int a[1+N/BITSPERWORD];//我自己写的时候 用的是 i/32 和原创 2011-03-24 22:57:00 · 394 阅读 · 0 评论 -
编程珠玑读书笔记——出现次数为多次位图法的实现
是书上的一道问题,文件中保护至多10000000个记录,每条记录都是一个7位整数.你只有1mb的主存(我的编码完成所需内存会略大于1mb,可以用多通道解决,这里暂不实现)每个整数至多只能出现10次.只是把位图法的存储空间变为4bit即用4bit来表示该数的出现次数为0则文件中无此数以下是我自己用c实现的 编译器是vc6.0#define BITSPERWORD 32#define SHIFT 3#define MASK 0x07#define N 10000000int a[4*N/BITSPERWORD原创 2011-03-28 18:45:00 · 601 阅读 · 0 评论 -
编程珠玑读书笔记——串的转置算法
将一个具有n个元素的一维向量向左旋转i个位置.假若n = 8, i = 3, 那么向量abcdefgh 旋转后为defghabc.1、将待旋转的向量看作是ab两段,假设a比b短,将b分割为b1和b2使b2长度与a相等.交换a、b2,这样ab1b2变为b2b1a这样a已经在自己最终的位置上了.下面的工作就变成了旋转b2b1./********************************** Fction:将字符串按条件转置 char * p:字符串首地址 int t:所原创 2011-03-28 01:47:00 · 606 阅读 · 0 评论