Back to homepage  
Back to homepage Analysis of Algorithms Replocator Visit Addison-Wesley Computing
Table of Contents
Preface
Reviewer Comments
Sample Chapters
order Exam Copy
Ordering Information
Supplements
About the Author

Check out Levitin's work that is a foundation for this book!

* Dr. Dobb's Journal article: "A New Roadmap of Algorithm Design Techniques" by Anany Levitin
* SIGCSE 2002 presentation: "Using Puzzles in Teaching Algorithms" by Anany Levitin and Mary-Angela Papalaskari

 

“This text takes(grouping algorithms by design) to a whole new level."
-UNLV
"The manner in which algorithms are described with respect to both their structure (English language description, pseudo-code) and behavior (English language descriptions, execution trees) is excellent."
-University of Michigan

"The exercises provide a good mix of algorithm tracing, algorithm design, mathematical proof, and program implementation"
-University of Alabama

 


TABLE OF CONTENTS

1. Introduction.
The Notion of Algorithm.
Fundamentals of algorithmic Problem Solving.
Important Problem Types.
A Review of Fundamental Data Structures.

2. Fundamentals of Analysis of Algorithms Efficiency.

The Analysis of Framework.
Asymptotic Notations and Standard Efficiency Classes.
Mathematical analysis of Non-Recursive Algorithms.
Mathematical Analysis of recursive algorithms.
An Example: the Fibonacci Numbers.
Empirical Analysis of Algorithms.
Algorithm Visualization.

3. Brute-Force.

Selection Sort and Bubble Sort.
Sequential Search and Brute-Force String Matching.
Closest-Pair and Convex-Hull Problems By Brute Force.
Exhaustive Search.

4. Divide-and-Conquer.

Mergesort.
Quicksort.
Binary Search.
Binary Tree Traversals and Related Properties.
Multiplication of Large Integers and Strassen's Matrix Multiplication.
Divide-and-Conquer Algorithms for the Closest-Pair and Convex-Hull Problems.

5. Decrease-and-Conquer.
Insertion Sort.
Depth-First Search and Breath-First Search.
Topological Sorting.
Algorithms for Generating Combinatorial Objects.
Decrease-by-a Constant-factor Algorithm.
Variable-Size-Decrease Algorithms.

6. Transform-and-Conquer.
Presorting and its Applications.
Gaussian Elimination.
Balanced Search Trees.
Heaps and Heapsort.
Horner's Rule and Binary Exponentiation.
Problem Reduction.

7. Space and Time Tradeoff in Algorithms.
Sorting by Distribution Counting.
Horspool's and Boyer-Moore Algorithms for String Matching.
Hashing.
B-Trees.

8. Dynamic Programming.
Binomial Coefficients.
Warshall's and Floyd's Algorithms.
Optimal Binary Search Trees.
The Knapsack Problem and Memory Functions.

9. Greedy Approach.
Prim's Algorithm.
Kruskal's Algorithm.
Dijkstra's Algorithm.
Huffman Trees.

10. Limitations of Algorithm Power.
Lower-Bound Arguments.
Decision Trees.
P, NP, and NP-complete Problems.
Challenges of Numerical Algorithms.

11. Coping with the Limitations of Algorithm Power.
Backtracking.
Branch-and-Bound.
Approximation Algorithms for NP-Hard Problems.
Algorithms for Solving Nonlinear Equations.
Epilogue.

Appendix A: Useful Formulas for the Analysis of Algorithms.
Appendix B: A Short tutorial on Recurrence Relations.
Appendix C: Exercise Hints.

© Copyright 2002 Addison Wesley, a division of Pearson Education, a Pearson plc company. All rights reserved. Legal Disclaimer. E-mail webmaster@awl.com