I’m happy to announce my latest book, Essential Algorithms, Second Edition: A Practical Approach to Computer Algorithms Using Python and C#.
This is a greatly revised and expanded version of the popular first edition. Here are some links that you can follow to get more information about the book.
Note that this book describes the algorithms using pseudocode, not Python or C#. The text mentions specific Python and C# issues when necessary. The source code for most of the exercises and examples is also available for download in Python and C# versions.
Stop by and take a look. And if you get the book, please post a review when you have a chance!



Congrats on the new edition. Now that you have experience in both Python and C#, which language do you prefer and why?
Why and how would I use an algorithm in PHP, Python , or Ruby?
How: Algorithms work the same way in most languages, it’s just the syntax that is different.
Why: If you’re using PHP, Python, or Ruby, then you may want algorithms in those languages.
More generally, however, it’s worthwhile studying algorithms themselves for the same reason we study math in school even if we’re unlikely to use algebra after graduation: it’s like a workout for your brain. Studying algorithms also helps you learn new techniques (like divide and conquer, binary subdivision, tree structures, greedy algorithms, heuristics (such as hill climbing, least cost, etc.), branch and bound, traversals, network algorithms, and more.