A Practical Approach to Computer Algorithms Using Python® and C#
Rod Stephens
Algorithms#
C##
C++#
Python#
*** Source Code Note ***
Note that this book includes downloadable source code in Python and C#. The code used in the text is in pseudocode. (It would have been much longer and hence more expensive if it included Python and C# code in the text.)
A friendly introduction to the most useful algorithms written in simple, intuitive English
The revised and updated second edition of Essential Algorithms, offers an accessible introduction to computer algorithms. The book contains a description of important classical algorithms and explains when each is appropriate. The author shows how to analyze algorithms in order to understand their behavior and teaches techniques that the can be used to create new algorithms to meet future needs. The text includes useful algorithms such as: methods for manipulating common data structures, advanced data structures, network algorithms, and numerical algorithms. It also offers a variety of general problem-solving techniques.
In addition to describing algorithms and approaches, the author offers details on how to analyze the performance of algorithms. The book is filled with exercises that can be used to explore ways to modify the algorithms in order to apply them to new situations. This updated edition of Essential Algorithms:
Essential Algorithms has been updated and revised and offers professionals and students a hands-on guide to analyzing algorithms as well as the techniques and applications. The book also includes a collection of questions that may appear in a job interview. The book's website will include reference implementations in Python and C# (which can be easily applied to Java and C++).
Table of Contents
Introduction
Chapter 1 Algorithm Basics
Chapter 2 Numerical Algorithms
Chapter 3 Linked Lists
Chapter 4 Arrays
Chapter 5 Stacks and Queues
Chapter 6 Sorting
Chapter 7 Searching
Chapter 8 Hash Tables
Chapter 9 Recursion
Chapter 10 Trees
Chapter 11 Balanced Trees
Chapter 12 Decision Trees
Chapter 13 Basic Network Algorithms
Chapter 14 More Network Algorithms
Chapter 15 String Algorithms
Chapter 16 Cryptography
Chapter 17 Complexity Theory
Chapter 18 Distributed Algorithms
Chapter 19 Interview Puzzles
Appendix A Summary of Algorithmic Concepts
Appendix B Solutions to Exercises
About the Author
Rod Stephens began his career as a mathematician, but while at MIT he was lured into the intriguing world of algorithms and has been programming ever since. An award-winning instructor, he regularly addresses conferences and has written more than 30 books that have been translated into nearly a dozen languages.