Essential algorithms a practical approach to computer algorithms

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 wh...

Descripción completa

Detalles Bibliográficos
Autor principal: Stephens, Rod (-)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Hoboken, NJ : Wiley 2013.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627916906719
Tabla de Contenidos:
  • 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: ArraysBasic 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 PermutationsRecursion 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 AlgorithmsTopological 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
  • SummaryExercises; 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