Operating Systems
Programming Languages
Microsoft Technologies
Computer Science
Formal Methods
MM & Game Dev.
Theory Computing
DS & Algorithms
Software Engineering
Web Programming
Web Technologies

Contact Us | What's New | Missing Link | Feedback

Data Structures and Algorithms

Book Title : Introduction to Algorithms
eBook download format(s) : HTM gz html 
ISBN-10 : 0262032937 
ISBN-13 : 978-0-262032-93-3 
Author(s) : Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein 
Publisher : The MIT Press (Sep 2001)
Section : Data Structures and Algorithms
Book Review:
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                 Digg!

You may use anyone of the download options

eBook VersionBuy this book from Amazon
Front Cover

Missing Link?, Report It and try these 3 + 1 alternates...

Tell a Friend!

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
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 :

Tell a Friend!

©2008 - Home - Privacy Policy - Program Policy, Terms and Conditions