Features
- The #1 practical resource for everyone seeking to run programs faster or solve larger problems
- Surveys today's most useful algorithms, with copious illustrations and examples
- Contains many new examples, ranging from physics, biology, and engineering to data compression and web search
- Contains real (not pseudocode) implementations, with detailed performance insights
- A companion web site, algs4.cs.princeton.edu , with many more resources for instructors, including text digests, program code, test data, programming projects, exercises, lecture slides, and other resources
- Copyright 2011
- Dimensions: 7-3/8" x 9-1/8"
- Pages: 976
- Edition: 4th
-
Book
- ISBN-10: 0-321-57351-X
- ISBN-13: 978-0-321-57351-3
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.
Table of Contents
-
Chapter 1: Fundamentals
-
1.1 Programming Model
-
1.2 Data Abstraction
-
1.3 Queues, Stacks, and Bags
-
1.4 Analysis of Algorithms
-
1.5 Case Study: Union-Find
-
-
Chapter 2: Sorting
-
2.1 Elementary Sorts
2.1 Elementary Sorts
-
2.2 Mergesort
-
2.3 Quicksort
-
2.4 Priority Queues
-
2.5 Applications
-
-
Chapter 3: Searching
-
3.1 Symbol Tables
3.1 Symbol Tables
-
3.2 Binary Search Trees
-
3.3 Balanced Search Trees
-
3.4 Hash Tables
-
3.5 Applications
-
-
Chapter 4: Graphs
-
4.1 Undirected graphs
4.1 Undirected graphs
-
4.2 Directed graphs
-
4.3 Minimum Spanning Trees
-
4.4 Shortest Paths
-
-
Chapter 5: Strings
-
5.1 String Sorts
5.1 String Sorts
-
5.2 Tries
-
5.3 Substring Search
-
5.4 Regular Expressions
-
5.5 Data Compression
-
-
Context
-
Systems Programming
Systems Programming
-
Scientific Computing
-
Commercial Applications
-
Operations Research
-
Intractability
-
-
Index