Algorithms

Contains carefully selected and clustered algorithm topics. No attempt was made to be encyclopedic, so that this book can include topics traditionally de-emphasized or omitted from most Algorithms books.

**Tag(s):**
Algorithms and Data Structures

**Publication date**: 13 Sep 2006

**ISBN-10**:
0073523402

**ISBN-13**:
9780073523408

**Paperback**:
336 pages

**Views**: 60,314

Algorithms

Contains carefully selected and clustered algorithm topics. No attempt was made to be encyclopedic, so that this book can include topics traditionally de-emphasized or omitted from most Algorithms books.

Book summary :

This book evolved over the past ten years from a set of lecture notes developed by the authors while teaching the undergraduate Algorithms course at Berkeley and U.C. San Diego.

The topics were carefully selected and clustered. No attempt was made to be encyclopedic, and this left more spaces to include topics traditionally de-emphasized or omitted from most Algorithms books.

This book consists of four parts:

Part I starts with the historical beginning, RSA cryptosystem, divide-and-conquer algorithms for integer multiplication, sorting and median finding, as well as the fast Fourier transform.

Part II, the most traditional section of the book, concentrates on data structures and graphs; the contrast here is between the intricate structure of the underlying problems and the short and crisp pieces of pseudocode that solve them.

Part III deals with the "sledgehammers" of the trade, techniques that are powerful and general: dynamic programming (a novel approach helps clarify this traditional stumbling block for students) and linear programming (a clean and intuitive treatment of the simplex algorithm, duality, and reductions to the basic problem).

The final Part IV is about ways of dealing with hard problems: NP-completeness, various heuristics, as well as quantum algorithms, perhaps the most advanced and modern topic. As it happens, this book ends the story exactly where it started it, with Shor's quantum algorithm for factoring.

Intended Audience :

Instead of dwelling on formal proofs, this book distills in each case the crisp mathematical idea that makes the algorithm work. In other words, this book emphasizes rigor over formalism. Undergraduate students in Computer Science should be much more receptive to mathematical rigor of this form.

This book evolved over the past ten years from a set of lecture notes developed by the authors while teaching the undergraduate Algorithms course at Berkeley and U.C. San Diego.

The topics were carefully selected and clustered. No attempt was made to be encyclopedic, and this left more spaces to include topics traditionally de-emphasized or omitted from most Algorithms books.

This book consists of four parts:

Part I starts with the historical beginning, RSA cryptosystem, divide-and-conquer algorithms for integer multiplication, sorting and median finding, as well as the fast Fourier transform.

Part II, the most traditional section of the book, concentrates on data structures and graphs; the contrast here is between the intricate structure of the underlying problems and the short and crisp pieces of pseudocode that solve them.

Part III deals with the "sledgehammers" of the trade, techniques that are powerful and general: dynamic programming (a novel approach helps clarify this traditional stumbling block for students) and linear programming (a clean and intuitive treatment of the simplex algorithm, duality, and reductions to the basic problem).

The final Part IV is about ways of dealing with hard problems: NP-completeness, various heuristics, as well as quantum algorithms, perhaps the most advanced and modern topic. As it happens, this book ends the story exactly where it started it, with Shor's quantum algorithm for factoring.

Intended Audience :

Instead of dwelling on formal proofs, this book distills in each case the crisp mathematical idea that makes the algorithm work. In other words, this book emphasizes rigor over formalism. Undergraduate students in Computer Science should be much more receptive to mathematical rigor of this form.

Tweet

About The Author(s)

No information is available for this author.

No information is available for this author.

Umesh V. Vazirani is Roger A. Strauch Professor of EECS in the Computer Science Division at the University of California at Berkeley. His research areas are Security, Theory, and Complexity theory.

Book Categories

Computer Science
Introduction to Computer Science
Introduction to Computer Programming
Algorithms and Data Structures
Artificial Intelligence
Computer Vision
Machine Learning
Neural Networks
Game Development and Multimedia
Data Communication and Networks
Coding Theory
Computer Security
Information Security
Cryptography
Information Theory
Computer Organization and Architecture
Operating Systems
Image Processing
Parallel Computing
Concurrent Programming
Relational Database
Document-oriented Database
Data Mining
Big Data
Data Science
Digital Libraries
Compiler Design and Construction
Functional Programming
Logic Programming
Object Oriented Programming
Formal Methods
Software Engineering
Agile Software Development
Information Systems
Geographic Information System (GIS)

Mathematics
Mathematics
Algebra
Abstract Algebra
Linear Algebra
Number Theory
Numerical Methods
Precalculus
Calculus
Differential Equations
Category Theory
Proofs
Discrete Mathematics
Theory of Computation
Graph Theory
Real Analysis
Complex Analysis
Probability
Statistics
Game Theory
Queueing Theory
Operations Research
Computer Aided Mathematics

Supporting Fields
Web Design and Development
Mobile App Design and Development
System Administration
Cloud Computing
Electric Circuits
Embedded System
Signal Processing
Integration and Automation
Network Science
Project Management

Operating System
Programming/Scripting
Ada
Assembly
C / C++
Common Lisp
Forth
Java
JavaScript
Lua
Microsoft .NET
Rexx
Perl
PHP
Python
R
Rebol
Ruby
Scheme
Tcl/Tk

Miscellaneous
Sponsors