很不错的书,适合喜欢python喜欢算法的人读
2011-01-15
这书没影印版的买,读的是电子版打印本,呵呵
书确实很不错,首先因为个人偏爱python,本书是用python描述,顿时感觉亲切很多。有人说python这种高级语言实现算法隐藏了很多细节,确实书中很多地方直接用到python bult-in的数据结构,如set dict list作为表达算法的载体,似乎不如c那么底层,但是从算法入门角度来讲,python语言因为清晰简练更适合用来描述算法轮廓,而且这也不是本讲数据结构的书,MIT的算法导论现在也开始用python来讲授恰好说明了这一点。
作者是Beginning python的作者同时也是教算法的教授,虽然这本书的定位在Mastering Basic Algorithms 但是我觉得比很多其他书讲得要轻松易懂,许多以前我看得一知半解的地方反而很快就明白了。相比很多国内的算法书只是实现一遍算法就完了,然后草草总结一下,这点国外的书很不一样,这本书在每章开头都是以算法的形成思想为线索,逐步引导你去读每一个算法,让你明白算法是基于怎样的思想,对自己分析问题解决方法有很大的启发性,书中举的例子都比较有趣味性,插入的补充材料也很有意思。其中递归、归纳、和归约那一章我觉得讲得特别棒,这章内容源自《算法引论》的作者的论文,通过讲解让你明白递归、归纳、和归约实际上是一脉相承的,递归、归纳的关系就如同“mirror”,是对称的,一个归纳的问题你可以通过递归来反向求解,而归约则是两者更高层的思想概括:将主问题分解成子问题,子问题的解决导致最终的求解。所以拿到一个算法问题时首先可以想如何把这个问题归约成其他问题,如何分解这个问题为子问题。
如果喜爱python又喜欢研究算法的,推荐阅读。