Book Review:
Amazon.com
Aimed at any serious programmer or computer science student, the new second edition of Introduction to Algorithms builds on the tradition of the original with a truly magisterial guide to the world of algorithms. Clearly presented, mathematically rigorous, and yet approachable even for the math-averse, this title sets a high standard for a textbook and reference to the best algorithms for solving a wide range of computing problems.
With sample problems and mathematical proofs demonstrating the correctness of each algorithm, this book is ideal as a textbook for classroom study, but its reach doesn't end there. The authors do a fine job of explaining each algorithm. (Reference sections on basic mathematical notation will help readers bridge the gap, but it will help to have some math background to appreciate the full achievement of this handsome hardcover volume.) Every algorithm is presented in pseudo-code, which can be implemented in any computer language, including C/C++ and Java. This ecumenical approach is one of the book's strengths. When it comes to sorting and common data structures, from basic linked lists to trees (including binary trees, red-black, and B-trees), this title really shines, with clear diagrams that show algorithms in operation. Even if you just glance over the mathematical notation here, you can definitely benefit from this text in other ways.
The book moves forward with more advanced algorithms that implement strategies for solving more complicated problems (including dynamic programming techniques, greedy algorithms, and amortized analysis). Algorithms for graphing problems (used in such real-world business problems as optimizing flight schedules or flow through pipelines) come next. In each case, the authors provide the best from current research in each topic, along with sample solutions.
This text closes with a grab bag of useful algorithms including matrix operations and linear programming, evaluating polynomials, and the well-known Fast Fourier Transformation (FFT) (useful in signal processing and engineering). Final sections on "NP-complete" problems, like the well-known traveling salesman problem, show off that while not all problems have a demonstrably final and best answer, algorithms that generate acceptable approximate solutions can still be used to generate useful, real-world answers.
Throughout this text, the authors anchor their discussion of algorithms with current examples drawn from molecular biology (like the Human Genome Project), business, and engineering. Each section ends with short discussions of related historical material, often discussing original research in each area of algorithms. On the whole, they argue successfully that algorithms are a "technology" just like hardware and software that can be used to write better software that does more, with better performance. Along with classic books on algorithms (like Donald Knuth's three-volume set, The Art of Computer Programming), this title sets a new standard for compiling the best research in algorithms. For any experienced developer, regardless of their chosen language, this text deserves a close look for extending the range and performance of real-world software. --Richard Dragan
add to del.icio.us
Digg Freebookzone.com!
You may use anyone of the download options
Missing Link?, Report It and try these 3 + 1 alternates...

Similar Book titles in Data Structures and Algorithms section: Handbook of Algorithms and Data Structures Introduction to Computer Graphics Problems on Algorithms, 2nd Edition Algorithms and Complexity 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 Combinatorial Algorithms Jeff Erickson's Algorithms Course Materials
Similar Book titles in Other sections:
Section: Bio-Chemistry Algorithms for Molecular Biology Introduction to Glycolysis Computational Molecular Biology: An Introduction
Section: CS -> Compilers and Languages Semantics with Applications: A Formal Introduction An Introduction to GCC Introduction to Programming Languages Data, Syntax and Semantics - An Introduction to Modelling Programming Languages Introduction to Machine Learning Show all..
Section: CS -> Theory Introduction to Computer Science I An Introduction to the Theory of Computation (Principles of Computer Science Series) Introduction to Symbolic Computation An Introduction to Multigrid Methods Information Theory, Inference and Learning Algorithms Show all..
Section: DB -> Datawarehousing Data Mining - An Introduction Student Notes
Section: DB -> Others Introduction to Databases for the Web Introduction to Databases for Web Developers Introduction to Sybase
Section: DB -> Postgre SQL PostgreSQL: Introduction and Concepts An Introduction to MySQL
Section: DB -> SQL Introduction to SQL A Gentle Introduction to SQL Structured Query Language (SQL) : A Practical Introduction
Section: Device Drivers Introduction to Writing Windows CE Display Drivers
Section: Logic Design and Architecture An Introduction to VHDL
Section: Microprocessor CAN (Controller Area Network): Introduction and Fundamentals Introduction to Microcontrollers Introduction to PLC controllers Introduction to 8080/8085 Assembly Language Programming
Section: Peripherals Introduction to PCI
Section: Advanced Java Introduction to Computer Science Using Java
Section: Java Enterprise Edition Enterprise Java Beans, an Introduction
Section: Java User Interface Java 2D: An Introduction and Tutorial
Section: Java Language Introduction to Programming Using Java Introduction to Interactive Programming In Java Introduction to Programming (in Java) - An Interdisciplinary Approach Introduction to Neural Networks with Java
Section: Mathematics An Introduction to Neural Networks Introduction to Group Theory A Computational Introduction to Number Theory and Algebra Algorithms For Computing With Modular Forms Graph-Theoretic Algorithms Show all..
Section: Miscellaneous An introduction to Cryptography Introduction to Sound Processing E-Commerce: An Introduction Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd Edition Introduction to Marketing Models Show all..
Section: Microsoft C Sharp (C#) A Programmer's Introduction to C# (Second Edition) Data Structures and Algorithms with Object-Oriented Design Patterns in C# Programmer Introduction to C#
Section: Networking Introduction to Data Communications Introduction to Computer, Internet & Network Systems Security
Section: GNU/Linux OS Introduction to Linux Introduction to Socket Programming An Introduction to Tkinter The Easiest Linux Guide You'll Ever Read - an Introduction to Linux for Windows Users
Section: Embedded and RTOS Introduction to Robotics: Mechanics and Control
Section: OS Theory A Short Introduction to Operating Systems
Section: Unix OS Introduction to Unix for Web Developers
Section: Assembly Language Introduction to RISC Assembly Language Programming Programmed Introduction to MIPS Assembly Language Introduction to Reverse Engineering Software
Section: C Language Introduction to C and C++ Programming Introduction to C Programming
Section: C++ Language Algorithms And Data Structures in C++ An Introduction to C++ and Object Oriented Programming An Introduction to C++ Programming Compilers and Compiler Generators: an introduction with C++ Data Structures and Algorithms with Object-Oriented Design Patterns in C++ Show all..
Section: Other Programming Common Lisp: A Gentle Introduction to Symbolic Computation Ada Distilled: An Introduction to Ada Programming An Introduction to Programming in Emacs Lisp An Introduction to Logic Programming Through Prolog Job Control Language (JCL) Introduction Show all..
Section: Scripting An Introduction to Scheme and its Implementation Introduction to TCL/TK Concrete Abstractions: An Introduction to Computer Science Using Scheme An Introduction to Python
Section: Smalltalk Smalltalk: An Introduction to Application Development Using VisualWorks Smalltalk and Object Orientation: An Introduction
Section: Redbooks Draft IBM/Cisco Multiprotocol Routing: An Introduction and Implementation GDPS Family - An Introduction to Concepts and Capabilities IBM System Storage DS3000: Introduction and Implementation Guide IBM System z9 Business Class Technical Introduction Introduction to Workload Partition Management in IBM AIX Version 6 Show all..
Section: Redbooks IBM TotalStorage: Introduction to SAN Routing IBM System z9 Business Class Technical Introduction Introduction to the New Mainframe: z/OS Basics AIX V6 Advanced Security Features Introduction and Configuration SAN Multiprotocol Routing: An Introduction and Implementation Show all..
Section: Redpapers IBM System p5 510 and 510Q Technical Overview and Introduction IBM BladeCenter JS21 Technical Overview and Introduction IBM System p5 185 Technical Overview and Introduction IBM System p5 560Q Technical Overview and Introduction IBM IntelliStation POWER 185 Technical Overview and Introduction Show all..
Section: Redpapers Draft IBM System p5 505 and 505Q Technical Overview and Introduction IBM System p5 550 and 550Q Technical Overview and Introduction IBM System p5 510 and 510Q Technical Overview and Introduction IBM System p5 590 and 595 Technical Overview and Introduction System x3755 Technical Introduction Show all..
Section: Software Engineering How to Design Programs: An Introduction to Programming and Computing Task-Centered User Interface Design - A Practical Introduction
Section: Web Programming Voodoo's Introduction to JavaScript Introduction to Databases for the Web A Programmer's Introduction to PHP 4.0
Section: Web Technology Introduction to Dynamic HTML Introduction to Adobe Photoshop Introduction to Web Design Introduction to HTML Introduction to Web Design Show all..
Section: XML, XSL & UML A Gentle Introduction to XML Introduction to XML for Web Developers A Technical Introduction to XML (N. Walsh) Introduction to XForms Introduction to XML Programming Show all..
Similar Books from Amazon :
|

|