Anany Levitin博士,美国维拉诺瓦大学教授,毕业于莫斯科国立大学并获得数学硕士学位。他拥有耶路撒冷希伯来大学数学博士学位和美国肯塔基大学计算机科学硕士学位。他的著作《算法设计与分析基础》已经被翻译为中文、俄文、希腊文和韩文,并被全球数百所高校广泛用作教材。目前,Levitin博士在美国维拉诺瓦大学讲授“算法设计与分析”课程。他的另一本著作《算法谜题》已经于2011年秋出版。
Anany Levitin,美籍犹太人,维拉诺瓦大学(Villanova)计算机科学系教授。他的论文“算法设计技术新途径:弥补传统分类法的缺憾”(A New Road Mpa of Algorithm Design Techniques: Picking Up Where the Traditional Classfication Leaves Off)深受业内好评,并享有广泛的声誉。他提出的这种新分类方法涵盖众多经典算法,开创了传统分类无法以一致方式介绍这些算法的先河。作为通用的问题解决工具,算法设计技术的应用很广,尤其适用于解决“狼,羊,白菜”问题和旅行商问题之类的流行谜题。
因为他对算法教育所做出的杰出贡献,Levitin教授曾多次受邀在SIGCSE(Computer Science Education,计算机教育) 全球大会上发表演讲,此大会每三年才举行一次。
Anany Levitin教授目前的研究课题为“Do We Teach the Right Algorithm Design Techniques ?”
目录
New to the Third Edition xvii
Preface xix
1 Introduction
1.1 What Is an Algorithm?
Exercises 1.1
1.2 Fundamentals of Algorithmic Problem Solving
Understanding the Problem
Ascertaining the Capabilities of the Computational Device
Choosing between Exact and Approximate Problem Solving
Algorithm Design Techniques
Designing an Algorithm and Data Structures
Methods of Specifying an Algorithm
Proving an Algorithm's Correctness
Analyzing an Algorithm
Coding an Algorithm
Exercises 1.2
1.3 Important Problem Types
Sorting
Searching
String Processing
Graph Problems
Combinatorial Problems
Geometric Problems
Numerical Problems
Exercises 1.3
1.4 Fundamental Data Structures
Linear Data Structures
Graphs
Trees
Sets and Dictionaries
Exerises 1.4
Summary
2 Fundamentals of the Analysis of Algorithm Efficiency
3 Brute Force and Exhaustive Search
4 Decrease-and-Conquer
5 Divide-and-Conquer
6 Transform-and-Conquer
7 Space and Time Trade-Offs
8 Dynamic Programming
9 Greedy Technique
10 Iterative Improvement
11 Limitations of Algorithm Power
12 Coping with the Limitations of Algorithm Power
Epilogue
APPENDIX A
Useful Formulas for the Analysis of Algorithms
Properties of Logarithms
Combinatorics
Important Summation Formulas
Sum Manipulation Rules
Approximation of a Sum by a Definite Integral
Floor and Ceiling Formulas
Miscellaneous
APPENDIX B
Short Tutorial on Recurrence Relations
Sequences and Recurrence Relations
Methods for Solving Recurrence Relations
Common Recurrence Types in Algorithm Analysis
References
Hints to Exercises
Index