
陈慧南编著
本书内容分为3部分:算法和算法分析、算法设计策略及求解困难问题。第1部分介绍问题求解方法、算法复杂度和分析、递归算法和递推关系;第2部分讨论常用的算法设计策略:基本搜索和遍历方法、分治法、贪心法、动态规划法、回溯法和分枝限界法;第3部分介绍NP完全问题、随机算法、近似算法和密码算法。书中还介绍了两种新的数据结构:跳表和伸展树,以及它们特定的算法分析方法,并对现代密码学做了简要论述。
每天看一点算法,mission complete。 选择这本书是因为目录看起来比较全面,单点的理解某个算法没什么意义,重要的是构筑知识体系与强化推及能力。 各类算法之间其实是有联系的,比如不确定算法用来定性问题的难易程度;密码算法的理论基础就是求解复杂问题的时间成本高到无法接受;近似算法是精度换性能;随机算法也是换取性能的另一个方向;分治法适用于能通过缩小问题规模产生易于解决的子问题的问题,进而求解子问题得到当前问题的解;动态规划用来优化分治法重叠子问题的性能损失;分支限界法用来裁剪状态空间树,提高搜索效率,这是相对于回溯法穷举状态空间的优势;贪心法只是应对最优化问题的一种简单策略。 算法是求解问题的具体步骤,时间空间复杂度用来描述一般条件下算法所适用的目标问题规模,数据结构则是辅助算法实现的存在。
看了小半年:算法理论大量抄袭!算法没有经过测试!翻译错误!四字:误人子弟!
结构、内容都写的不错,不过确实是有错误的地方。