Essential Algorithms: A Practical Approach to Computer Algorithms
- Length: 624 pages
- Edition: 1
- Language: English
- Publisher: Wiley
- Publication Date: 2013-08-12
- ISBN-10: 1118612108
- ISBN-13: 9781118612101
- Sales Rank: #228369 (See Top 100 Books)
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.
Table of Contents
Chapter 1 Algorithm Basics 1
Chapter 2 Numerical Algorithms 25
Chapter 3 Linked Lists 55
Chapter 4 Arrays 83
Chapter 5 Stacks and Queues 111
Chapter 6 Sorting 131
Chapter 7 Searching 163
Chapter 8 Hash Tables 169
Chapter 9 Recursion 185
Chapter 10 Trees 227
Chapter 11 Balanced Trees 277
Chapter 12 Decision Trees 297
Chapter 13 Basic Network Algorithms 325
Chapter 14 More Network Algorithms 355
Chapter 15 String Algorithms 377
Chapter 16 Cryptography 397
Chapter 17 Complexity Theory 419
Chapter 18 Distributed Algorithms 435
Chapter 19 Interview Puzzles 465
Appendix A Summary of Algorithmic Concepts 477
Appendix B Solutions to Exercises 487