![]()
内容推荐 “算法详解”系列图书共有4卷,本书是第3卷——贪心算法和动态规划。其中贪心算法主要包括调度、最小生成树、聚类、哈夫曼编码等,动态规划主要包括背包、序列比对、最短路径、最佳搜索树等。本书的每一章均有小测验和章末习题,这将为读者的自我检查以及进一步学习提供方便。 本书作者提供丰富而实用的资源,能够帮助读者提升算法思维能力。本书适合计算机专业的高校教师和学生、想要培养和训练算法思维、计算思维的IT专业人士,以及面试官和正在准备面试的应聘者阅读、参考。 作者简介 蒂姆·拉夫加登(Tim Roughgarden),哥伦比亚大学计算机科学系教授,之前曾任教于斯坦福大学,主要研究领域包括算法、博弈论以及微观经济学。他曾获得美国青年科学家与工程师总统奖(PECASE),ACM颁发的Grace Murray Hopper奖,Game Theory Society颁发的Kalai奖,Mathematical Programming Society颁发的Tucker奖,以及EATCS-SIGACT颁发的G?del奖。 目录 第1章 贪心算法概述 1.1 贪心算法设计范例 1.1.1 算法设计范例 1.1.2 贪心算法设计范例的特性 1.2 一个调度问题 1.2.1 问题的设定 1.2.2 竞争时间 1.2.3 目标函数 1.2.4 小测验1.1的答案 1.3 开发一种贪心算法 1.3.1 两种特殊情况 1.3.2 贪心算法之间的竞争 1.3.3 小测验1.2~1.3的答案 1.4 正确性证明 1.4.1 没有平局时的情况:高层计划 1.4.2 在相邻逆序对中交换作业 1.4.3 成本收益分析 1.4.4 处理平局的情况 1.4.5 小测验1.4~1.5的答案 1.5 本章要点 1.6 章末习题 第2章 哈夫曼编码 2.1 编码 2.1.1 固定长度的二进制编码 2.1.2 可变长度的编码 2.1.3 非前缀编码 2.1.4 非前缀编码的优点 2.1.5 问题定义 2.1.6 小测验2.1~2.2的答案 2.2 编码和树 2.2.1 3个例子 2.2.2 什么样的树表示非前缀编码 2.2.3 问题定义(精练版) 2.3 哈夫曼的贪心算法 2.3.1 通过连续的归并创建树 2.3.2 哈夫曼的贪心准则 2.3.3 伪码 2.3.4 例子 2.3.5 一个更复杂的例子 2.3.6 运行时间 2.3.7 小测验2.3的答案 *2.4 正确性证明 2.4.1 高层计划 …… 第3章 最小生成树 第4章 动态规划概述 第5章 高级动态规划 第6章 再论最短路径算法 附录 章末习题答案节选 后记 算法设计工作指南 |