Description
The leading introduction to computer algorithms in use today, including fifty algorithms every programmer should know
Princeton Computer Science professors, Robert Sedgewick and Kevin Wayne, survey the most important computer algorithms in use and of interest to anyone working in science, mathematics, and engineering, and those who use computation in the liberal arts. They provide a full treatment of data structures and algorithms for key areas that enable you to confidently implement, debug, and put them to work in any computational environment.
Fundamentals:
- Basic programming models
- Data abstraction
- Bags, queues, and stacks
- Analysis of algorithms
Sorting
- Elementary sorts
- Mergesort
- Quicksort
- Priority queues
- Applications
Graphs
- Undirected graphs
- Directed graphs
- Minimum spanning trees
- Shortest paths
Strings
- String sorts
- Tries
- Substring search
- Regular expressions
- Data compression
These algorithms are generally ingenious creations that, remarkably, can each be expressed in just a dozen or two lines of code. As a group, they represent problem-solving power of amazing scope. They have enabled the construction of computational artifacts, the solution of scientific problems, and the development of commercial applications that would not have been feasible without them.