世上无难事,只怕书太厚。
正文
我们要说明一下"有穷性"并不能充分说明一个算法是实用的.
比如说用穷举法说明如果不出错,围棋会是黑棋胜还是白棋胜,用
2的(2的(2的(2的(2的(2的(2的2次方)2次方)2次方)2次方)2次方)2次方)2次方)台电脑,算上个
2的(2的(2的(2的(2的(2的(2的2次方)2次方)2次方)2次方)2次方)2次方)2次方)个世纪,也能算出来,但是…有个屁用啊
第8章(递归)会出现很多种这么慢的算法.(指数时间复杂度,作者猜的)
在练习中我们不止要algorithm,还要在一些宽泛的条件下好的算法。一个测试算法好不好的标准是它所用的时间,可以被XXX复杂的计算出来。另一个标准是这个算法在不同机器上的可移植性,很简单吧。
作者注:这个机器可以是
Intel X86/64
MIX(克努特老头子自制,已废弃,请使用MMIX)
JVM(Java虚拟机)
······(一切编程语言)
对于很多算法,我们有一样的困惑——which one is better?
这被称为——算法的分析(algorithmic analysis)。
——————————————————————
省略一堆废话(咱们直接用时间复杂度)
——————————————————————