当前位置:嗨网首页>书籍在线阅读

18-习题

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.7 习题

1.用自己设计的技术编写其他一种求解斐波那契序列元素 n 的函数。请编写单元测试以评估其正确性,以及相对于本章各版本的性能差异。

2.大家已经了解了用Python中的简单类型 int 表示位串的做法。请编写一个人机友好的 int 封装类,以使其能通用地当作位序列来使用(使其可迭代并实现 __getitem__() 方法)。请利用该 int 封装类重新实现一遍 CompressedGene

3.编写代码求解塔数任意的汉诺塔问题。

4.用一次性密码本方案加密并解密图像。

[1] 英国知名计算机科学家Donald Michie创造了memoization这个术语。参见 Donald Michie 的 Memo functions: a language feature with “rote-learning” properties(Edinburgh University,Department of Machine Intelligence and Perception,1967)。

[2] 本例受到Robert Sedgewick和Kevin Wayne的《算法(第4版)》(第819页)的启发。