
Essential Algorithms : A Practical Approach to Computer Algorithms.
Title:
Essential Algorithms : A Practical Approach to Computer Algorithms.
Author:
Stephens, Rod.
ISBN:
9781118612767
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (758 pages)
Contents:
Cover -- Chapter 1: Algorithm Basics -- Approach -- Algorithms and Data Structures -- Pseudocode -- Algorithm Features -- Practical Considerations -- Summary -- Exercises -- Chapter 2: Numerical Algorithms -- Randomizing Data -- Finding Greatest Common Divisors -- Performing Exponentiation -- Working with Prime Numbers -- Performing Numerical Integration -- Finding Zeros -- Summary -- Exercises -- Chapter 3: Linked Lists -- Basic Concepts -- Singly Linked Lists -- Doubly Linked Lists -- Sorted Linked Lists -- Linked-List Algorithms -- Linked List Selectionsort -- Multithreaded Linked Lists -- Linked Lists with Loops -- Summary -- Exercises -- Chapter 4: Arrays -- Basic Concepts -- One-dimensional Arrays -- Nonzero Lower Bounds -- Triangular Arrays -- Sparse Arrays -- Matrices -- Summary -- Exercises -- Chapter 5: Stacks and Queues -- Stacks -- Queues -- Summary -- Exercises -- Chapter 6: Sorting -- O(N2) Algorithms -- O(N log N) Algorithms -- Sub O(N log N) Algorithms -- Summary -- Exercises -- Chapter 7: Searching -- Linear Search -- Binary Search -- Interpolation Search -- Summary -- Exercises -- Chapter 8: Hash Tables -- Hash Table Fundamentals -- Chaining -- Open Addressing -- Summary -- Exercises -- Chapter 9: Recursion -- Basic Algorithms -- Graphical Algorithms -- Backtracking Algorithms -- Selections and Permutations -- Recursion Removal -- Summary -- Exercises -- Chapter 10: Trees -- Tree Terminology -- Binary Tree Properties -- Tree Representations -- Tree Traversal -- Sorted Trees -- Threaded Trees -- Specialized Tree Algorithms -- Summary -- Exercises -- Chapter 11: Balanced Trees -- AVL Trees -- 2-3 Trees -- B-Trees -- Balanced Tree Variations -- Summary -- Exercises -- Chapter 12: Decision Trees -- Searching Game Trees -- Searching General Decision Trees -- Summary -- Exercises -- Chapter 13: Basic Network Algorithms.
Network Terminology -- Network Representations -- Traversals -- Finding Paths -- Summary -- Exercises -- Chapter 14: More Network Algorithms -- Topological Sorting -- Cycle Detection -- Map Coloring -- Maximal Flow -- Summary -- Exercises -- Chapter 15: String Algorithms -- Matching Parentheses -- Pattern Matching -- String Searching -- Calculating Edit Distance -- Summary -- Exercises -- Chapter 16: Cryptography -- Terminology -- Transposition Ciphers -- Substitution Ciphers -- Block Ciphers -- Public-Key Encryption and RSA -- Other Uses for Cryptography -- Summary -- Exercises -- Chapter 17: Complexity Theory -- Notation -- Complexity Classes -- Reductions -- NP-Hardness -- Detection, Reporting, and Optimization Problems -- NP-Complete Problems -- Summary -- Exercises -- Chapter 18: Distributed Algorithms -- Types of Parallelism -- Distributed Algorithms -- Summary -- Exercises -- Chapter 19: Interview Puzzles -- Asking Interview Puzzle Questions -- Answering Interview Puzzle Questions -- Summary -- Exercises -- Appendix A: Summary of Algorithmic Concepts -- Chapter 1: Algorithm Basics -- Chapter 2: Numeric 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 B: Solutions to Exercises -- 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: Encryption -- Chapter 17: Complexity Theory -- Chapter 18: Distributed Algorithms -- Chapter 19: Interview Puzzles -- Glossary -- Introduction.
Abstract:
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.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Genre:
Electronic Access:
Click to View