一本算法设计的好书
2007-06-16 23:02
393 查看
[算法日志 ]
Introduction to the design and analysis of algorithms, by Anany Levitin, Villanova Univ., 2003
A new road map of algorithm design techniques:picking up where the traditional classification leaves off, by Anany Levitin, Villanova Univ. 200?
这本书力图按照算法设计技术的内在思想对经典算法进行分类,尤其适合学习了数据结构之后学习,对算法技术有更深的理解。
http://algorithm.cs.nthu.edu.tw/~course/ 采用该书第二版作为教材。
来自Amazon评价:
Customer Reviews
一个有意思的现象是,对于brute-force呀,divide-and-conquer呀,dynamic programming呀,这些,老师称之为“算法策略”的名词,该书也未能给出一个恰当的英文术语来描述:technique? strategy ? paradigm? idea when design certain type of algorithms? 不过,作者确实对现有的算法作了很好的分类。
该书的目录:部分
1.1算法的概念
1.2算法问题的求解基础
1.3重要的问题类型
1.4基本数据结构
2.1算法分析的框架
2.2渐进符号和基本效率类型
2.3 非递归算法的数学分析
2.4递归算法的数学分析
2.5例题:Fibonacci数列
2.6算法的经验分析
2.7算法的可视化
3.brute-force
3.1选择排序和冒泡排序
3.2顺序查找和蛮力字符匹配
3.3最近对和凸包convex问题的蛮力算法
3.4穷举查找
4分治法
4.1合并排序
4.2快速排序
4.3折半查找
4.4 二叉树遍历及相关特性
4.5 大整数乘法和Strassen矩阵乘法
5 减治法
5.1 插入排序
5.2 深度有限查找和广度优先查找
5.3 拓扑排序
5.4 生成组合对象的算法
5.5 减常因子算法 reduced constant factor algorithm
5.6 减可变规模算法
6 变治法
6.1预排序
6.2 高斯消去法
6.3 平衡查找树
6.4 堆和堆排序
6.5 H
Introduction to the design and analysis of algorithms, by Anany Levitin, Villanova Univ., 2003
A new road map of algorithm design techniques:picking up where the traditional classification leaves off, by Anany Levitin, Villanova Univ. 200?
这本书力图按照算法设计技术的内在思想对经典算法进行分类,尤其适合学习了数据结构之后学习,对算法技术有更深的理解。
http://algorithm.cs.nthu.edu.tw/~course/ 采用该书第二版作为教材。
来自Amazon评价:
30 of 32 people found the following review helpful: Algorithm Design from a different perspective, April 28, 2003
The book teaches you algorithm design and analysis from a completely different view point. It is entertaining to read and the problems at the end of each chapter are wonderful. I only hope that the author adds nore algorithms in his next edition. Go get it! Comment | Was this review helpful to you? (Report this) |
5 of 7 people found the following review helpful: One of the better introductions, March 11, 2005
Comment | Was this review helpful to you? (Report this) |
1 of 1 people found the following review helpful: Fantastic intro book, September 26, 2006
Even though this book is only a few years old, it seems like a well-worn classic. That is not to say that it is outdated and irrelevant; it is exactly the opposite! While my knowledge of algorithms textbooks isn't encyclopedic, I can say that this book was way ahead of the curve in it's layout. Before it, most books presented a bunch of algorithms with some loose affiliations such as being search algorithms or dealing with graphs. This book groups algorithms into major themes and makes it much easier to learn the fundamentals of algorithm design. There have been a new set of algorithms textbooks coming out as late (Kleinberg and Tardos, Dasgupta et al, etc) that have the same approach as this book because it works so well. Don't miss out! Comment | Was this review helpful to you? (Report this) |
Average Customer Review: Write an online review and share your thoughts with other customers. |
6 of 7 people found the following review helpful: Great introductory text!, March 10, 2006
Comment | Was this review helpful to you? (Report this) |
9 of 10 people found the following review helpful: Great Introduction to Algorithmic Design, May 8, 2005
Comment | Was this review helpful to you? (Report this) |
18 of 31 people found the following review helpful: An Interestingly Different Approach, June 4, 2003
acknowledged to be those by Donald Knuth, "The Art of Computer Programming". Very detailed, and with voluminous problem sets, they have been the standard for decades. Along comes this book with its claim of a different and complementary classification of the field. The traditional way is, from a top-down vantage, that at the highest level, you descend from the root to the various main problem types. Beneath each problem node would be subclassifications based on the techniques used to attack that problem. (I could say "solve", but that is certainly not the case for some problems.) This is the most natural classification, because you often get a problem put in front of you, and you start from there. Problem-driven. But what if a method to attack problem A and a method to attack problem B were very similar? Is there a way to combine these method nodes? In the problem-driven tree, not really. So what the author suggests is a method-driven tree, where problems are descendents of a method. You regard solutions or research into problems as instantiations of a particular method. Sound familiar? You can draw analogies with physics, if you map the methods into the laws of physics. We should not follow this too literally. But seen from this vantage, the author's idea is very reasonable. In physics, the solutions to a problem are (ideally, anyway) derived ultimately from the laws of physics. We should not draw a contrast between the author's suggestions and the prevailing approach too sharply. At the research level, a competent analyst should be aware of different problem areas from which solutions could be drawn, or to which a solution might be adapted. As a practical matter, it comes down to the difference in emphasis for most, rather than a different worldview. Nonetheless, this is potentially quite a gem for a researcher. The author's different emphasis may be the trigger to solving one of your problems. |
该书的目录:部分
1.1算法的概念
1.2算法问题的求解基础
1.3重要的问题类型
1.4基本数据结构
2.1算法分析的框架
2.2渐进符号和基本效率类型
2.3 非递归算法的数学分析
2.4递归算法的数学分析
2.5例题:Fibonacci数列
2.6算法的经验分析
2.7算法的可视化
3.brute-force
3.1选择排序和冒泡排序
3.2顺序查找和蛮力字符匹配
3.3最近对和凸包convex问题的蛮力算法
3.4穷举查找
4分治法
4.1合并排序
4.2快速排序
4.3折半查找
4.4 二叉树遍历及相关特性
4.5 大整数乘法和Strassen矩阵乘法
5 减治法
5.1 插入排序
5.2 深度有限查找和广度优先查找
5.3 拓扑排序
5.4 生成组合对象的算法
5.5 减常因子算法 reduced constant factor algorithm
5.6 减可变规模算法
6 变治法
6.1预排序
6.2 高斯消去法
6.3 平衡查找树
6.4 堆和堆排序
6.5 H
相关文章推荐
- 推荐一本日文好书《系统设计完全攻略2009》
- [推荐]思考设计,一本难得的好书《Microsoft .NET: Architecting Applications for the Enterprise》
- 推荐一本好书《应用框架的设计与实现 .NET平台》电子工业出版社
- 推荐一本好书《应用框架的设计与实现 .NET平台》电子工业出版社
- ACM_算法竞赛经典入门_ 强烈推荐的一本好书
- 推荐一本好书《应用框架的设计与实现 .NET平台》电子工业出版社
- 推荐一本有关设计的好书-《写给大家看的设计书》
- 推荐一本好书《应用框架的设计与实现 .NET平台》电子工业出版社
- 推荐一本好书《应用框架的设计与实现 .NET平台》电子工业出版社
- 推荐一本好书《应用框架的设计与实现 .NET平台》电子工业出版社
- 推荐一本关于设计模式的好书
- 一本介绍开源软件设计思路的好书
- 推荐一本关于组件设计的好书
- Kruskal算法求最小生成树-算法设计与分析实验3
- 设单链表以非递减有序排列,设计算法实现在单链表中删除值相同的多余结点
- 算法分析与设计丨第一周丨 LeetCode(1)——Two Sum
- 算法分析与设计复习-P,NP,NPC问题
- 设计一个算法,推断一个二叉树是否为全然二叉树
- [算法分析与设计] leetcode 每周一题: Validate Binary Search Tree
- 设计一个在一百万个数字中求十个最大的数算法