Book Review:
Book Description
These lecture notes is about algorithms, especially combinatorial algorithms. Put in its basic form, an algorithm is a set of simple, unambiguous, stepbystep instructions for accomplishing a specific task. Note that the word 'computer' doesn't appear anywhere in this definition; algorithms don't necessarily have anything to do with computers. True though, these notes focus (almost) exclusively on algorithms that can be reasonably implemented on a computer. In other words, each step in the algorithm must be something that either is directly supported by a programming language (arithmetic, assignments, loops, recursion, etc.) or is something that the reader already learned how to do in an earlier subjects (sorting, binary search, depth first search, etc.).
So what's a combinatorial algorithm? The distinction is fairly articial, but basically, this means something distinct from a numerical algorithm. Numerical algorithms are used to approximate computation with ideal real numbers on finite precision computers. The output of a numerical algorithm is necessarily an approximation to some ideal mathematical object. Any number that's close enough to the ideal answer is a correct answer. Combinatorial algorithms, on the other hand, manipulate discrete objects like arrays, lists, trees, and graphs that can be represented exactly on a digital computer.
These notes also shows how to prove an algorithm is correct on all possible inputs. Sometimes this is fairly obvious, especially for algorithms in earlier subjects. But many of the algorithms discussed in these notes will require some extra work to prove. This is where formal mathematical descriptions will come in handy. Inevitably, one must also takes into account how fast different algorithms run for the same problem. And in these notes, one will learn how to create algorithms that always run efficiently, even in the worst case. The goal is to help the reader in developing algorithmic intuition. How do various algorithms really work? When we see a problem for the first time, how should we attack it? How do we tell which techniques will work at all, and which ones will work best? How do we judge whether one algorithm is better than another? How do we tell if we have the best possible solution?
add to del.icio.us
Digg Freebookzone.com!
You may use anyone of the download options
Missing Link?, Report It and you may wish to find Similar Books from amazon.
Similar Book titles in Data Structures and Algorithms section: Handbook of Algorithms and Data Structures Problems on Algorithms, 2nd Edition Algorithms and Complexity Introduction to Algorithms Design and Analysis of Computer Algorithms Computer Animation: Algorithms and Techniques Dictionary of Algorithms and Data Structures Algorithms Sorting and Searching Algorithms: A Cookbook Planning Algorithms Algorithms in the Real World  Lecture Notes Algorithms and Data Structures in VLSI Design: OBDD  Foundations and Applications How to Think About Algorithms  Loop Invariants and Recursion Complexity of Algorithms Algorithms for Communications Systems and their Applications Algorithms for Programmers Average Case Analysis of Algorithms on Sequences Efficient Algorithms for Sorting and Synchronization Jeff Erickson's Algorithms Course Materials
Similar Book titles in Other sections:
Section: BioChemistry Algorithms for Molecular Biology
Section: CS > Theory Information Theory, Inference and Learning Algorithms Global Optimization Algorithms  Theory and Application Approximation Algorithms
Section: Mathematics Algorithms For Computing With Modular Forms GraphTheoretic Algorithms Algorithms for Modular Elliptic Curves, Second Edition Combinatorial Algorithms for Computers and Calculators, Second Edition Discrete Mathematics with Algorithms Show all..
Section: Miscellaneous Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd Edition Digraphs Theory, Algorithms and Applications
Section: Microsoft C Sharp (C#) Data Structures and Algorithms with ObjectOriented Design Patterns in C#
Section: C++ Language Algorithms And Data Structures in C++ Data Structures and Algorithms with ObjectOriented Design Patterns in C++
Similar Books from Amazon :

