Essential Algorithms: A Practical Approach to Computer Algorithms

Rod Stephens

Language: English

Publisher: Wiley

Published: Aug 12, 2013

Description:

A friendly and accessible introduction to the most useful algorithms

Computer algorithms are the basic recipes for programming. Professional programmers need to know how to use algorithms to solve difficult programming problems. Written in simple, intuitive English, this book describes how and when to use the most practical classic algorithms, and even how to create new algorithms to meet future needs. The book also includes a collection of questions that can help readers prepare for a programming job interview.

  • Reveals methods for manipulating common data structures such as arrays, linked lists, trees, and networks
  • Addresses advanced data structures such as heaps, 2-3 trees, B-trees
  • Addresses general problem-solving techniques such as branch and bound, divide and conquer, recursion, backtracking, heuristics, and more
  • Reviews sorting and searching, network algorithms, and numerical algorithms
  • Includes general problem-solving techniques such as brute force and exhaustive search, divide and conquer, backtracking, recursion, branch and bound, and more

In addition, Essential Algorithms features a companion website that includes full instructor materials to support training or higher ed adoptions.

From the Back Cover

Master the most useful algorithms and build your problem-solving skills

Algorithms are the recipes that make efficient programming possible. Studying them lets you build a useful toolkit of methods for solving specific problems. This book introduces you to many classic algorithms, shows you where they work, and explains how to analyze them to understand their behavior. The study of algorithms also teaches general problem-solving techniques that make you a better programmer. You might find that this book not only helps you on the job, it may help you get the job.

Learn useful algorithms including:

  • Numerical algorithms: randomization, factoring, prime numbers, and numeric integration
  • Methods for manipulating common data structures: arrays, linked lists, and networks
  • More advanced data structures: heaps, trees, balanced trees, and B-trees

Learn these and other problem-solving techniques:

  • Brute force or exhaustive search
  • Divide and conquer
  • Greedy algorithms and hill climbing
  • Least cost algorithms
  • Heuristics
  • Constricting bounds

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 26 books that have been translated into nearly a dozen languages.