Some second editions include only a cursory revision of the book's material and possibly some new additions. While this book does contain a lot of the material that was included in the first edition, it also includes some important new topics.
First, this edition includes improved coverage for the python and C# programming languages. The book's algorithms are written in pseudocode, so you can implement them in any programming language. However, I have provided sample implementations that you can download in python or C#. The text also includes notes that highlight issues that you might encounter when implementing the algorithms in python or C#.
The second edition also describes several new and interesting algorithms, which are shown in the following list.
- Making Random Walks
- Self-Avoiding Random Walks
- Complete Self-Avoiding Random Walks
- The Extended GCD Algorithm and Bézout's Identity
- Improved Fast Exponentiation
- Gaussian Elimination
- Least Squares Fits
- Linear Least Squares
- Polynomial Least Squares
- Self-Organizing Linked Lists
- Finding a Numeric Array's Mode
- Binomial Heaps
- Pigeonhole Sort
- The Boyer-Moore Majority Voting Algorithm
- Rod-Cutting
- The Skyline Problem
- Round Robin Scheduling
- Dynamic Programming
- Left Child/Right Sibling Representation of Trees
- Lowest Common Ancestors
- Interval Trees
- Gradient Descent
- Swarm Intelligence
- Ant Colony Optimization
- Bees Algorithm
- Particle Swarms
- Euclidean Minimal Spanning Trees
- Building Mazes
- Strongly Connected Components, Kosaraju's Algorithm
- Transitive Reduction
- Transitive Closure
- Shortest Path Modifications
- Early Stopping
- Bidirectional Search
- Best-First Search
- Turn Penalties and Prohibitions
- Network Cloning
- Using a Dictionary
- Using Clone References
- Cliques
- Brute Force
- Maximal Cliques (Bron-Kerbosch)
- Finding Triangles (Chiba and Nishizeki)
- Community Detection
- Maximal Cliques
- Girvan-Newman
- Clique Percolation
- Eulerian Paths and Cycles
- Fleury's algorithm
- Hierholzer's algorithm
- Phonetic Algorithms
|