
编程珠玑课后习题答案
文章平均质量分 91
中南自动化学院至渝
好记性不如烂笔头,多写写
展开
-
编程珠玑课后习题答案 第三章
anc1an−1c2an−2ckan−kck1anc1an−1c2an−2...ckan−kck1斐波那契数列。原创 2023-06-17 12:46:23 · 492 阅读 · 0 评论 -
编程珠玑课后习题答案 第一章
另一种做法是采用两趟算法,首先使用 5000 000 / 8 = 625 000 个字的存储空间来排序 0 ~ 4 999 999 之间的整数,然后在第二趟排序 5 000 000 ~ 9 999 999 的整数。电话号码的最后两位数字非常接近于随机,因此是非常理想的散列函数,而最前面的两位数字则很不理想——为什么?利用习题 5 的答案,我们可以使用 10 000 000 / 2 个字节在 1 趟内完成对整个文件的排序,或使用 10 000 000 / 2k 个字节在 k 趟内完成对整个文件的排序。原创 2023-06-17 12:30:59 · 619 阅读 · 0 评论 -
编程珠玑课后习题答案 第二章
块交换算法开始时开销最高(可能是由交换单元素块的函数调用引起的),但是良好的高速缓存性能使得旋转距离大于 2 时该算法是最快的算法。为了找出给定单词的所有变位词,我们首先计算它的标识。如果原始的输入文件包含 n 个元素,那么第一趟将读取 n 个整数,第二趟最多读取 n/2 个整数,第三趟最多读取 n/4 个整数,依此类推,所以总的运行时间正比于 n。为了在字典中找出错误的匹配,我们用按键编码标识每个名字,并根据标识排序(当标识相同时根据名字排序),然后顺序读取排序后的文件并输出具有不同名字的相同标识。原创 2023-06-17 12:41:03 · 480 阅读 · 0 评论