
《编程珠玑》读书笔记
文章平均质量分 74
qjzl2008
这个作者很懒,什么都没留下…
展开
-
《编程珠玑》读书笔记1----------------如何使用位逻辑来实现位向量
1.如何使用位逻辑来实现位向量#define BITSPERWORD 32 //int型为32位#define SHIFT 5 #define MASK 0x1F //模数 #define N 10000000 //假定大小int a[1 + N/BITSPERWORD];void set(int i) { a[i>>SHIFT] |= (1<<(i &原创 2012-07-01 23:56:09 · 1040 阅读 · 2 评论 -
《编程珠玑》读书笔记2------------第二章习题及个人答案
1.考虑查找给定输入单词的所有变位词的问题。仅给定单词和字典的情况下,如何解决该问题?如果有一些时间和空间可以响应任何查询之前预处理字典,又会如何处理?为给点单词做标记,如mississippi的标记为(i4m1p2s4)标记内字母按字典序排列,遍历字典,每查询一个单词,同样为其作出标记,做完后比较标记。还有种方式是在做标记的时候就进行判断,如果查询单词中存在字母数量大于目标单词,break,原创 2012-10-02 01:23:35 · 4617 阅读 · 1 评论 -
《编程珠玑》读书笔记4------------第四章部分习题及个人答案
如果原始的二分搜索对你来说太过容易了,那么请试试这个演化后的版本: 把t在数组x中第一次出现的位置返回给p(如果存在多个t的话, 原始算法会任意返回其中的一个).要求代码对数组元素进行对数次比较(该任务可以在log2 N次比较之内完成)。 相当于二分搜索的改进版,定义low,high,mid if(key>mid)low = mid+1;else if(keyhigh =m原创 2012-10-05 21:36:25 · 2343 阅读 · 2 评论