本章大致介绍了一下算法能解决、不能解决的问题,算法优劣的比较原则,以及学习算法在程序员能力提高上的必要性。
练习1.1-1
确定多矩阵相乘的最佳顺序:现实生活中完全没遇到过啊!使用matlab时matlab内部应该有这种烦恼,但这属于现实生活的范畴吗?
找出凸壳:很对不起,能力太差,还没见过这类需求……
练习1.1-2
时间和空间是两大性能指标,之外的嘛……成本也算一个,程序实现难度应该也算,比如用量子计算机解大数质因子分解效率超高,但前提是你要造一个能满足解题需求的量子计算机——不知道现在量子计算机研究得怎么样了?
练习1.1-5
最佳方法一词可能有两种意义,一种是效率最佳,一种是正确性100%。丝毫不能容忍效率不是最佳的问题应该没有吧?那我们就考察正确性吧。
正确性必须为100%的例子,比如银行计算储户利息等和金钱相关的,自然是一分不能差;
只要大致正确就好的例子,比如图片的有损压缩,在普通观察模式下人类肉眼无法察觉的失真都是可以接受的。