Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Bundle of Algorithms in C++, Parts 1-5: Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms 3rd Edition
Software developers and computer scientists have eagerly awaited this comprehensive revision of Robert Sedgewick's landmark texts on algorithms for C++. Sedgewick has completely revamped all five sections, illuminating today's best algorithms for an exceptionally wide range of tasks. This shrink-wrapped package brings together Algorithms in C++, Third Edition, Parts 1-4 and his new Algorithms in C++, Third Edition, Part 5. Together, these books are the most definitive, up-to-date, and practical algorithms resource available. The first book introduces fundamental concepts associated with algorithms; then covers data structures, sorting, and searching. The second book focuses entirely on graphing algorithms, which are critical for a wide range of applications, including network connectivity, circuit design, scheduling, transaction processing, and resource allocation. Sedgewick focuses on practical applications, giving readers all the information, diagrams, and real (not pseudo-) code they need to confidently implement, debug, and use the algorithms he presents. Together, these books present nearly 2,000 new exercises, hundreds of new figures, and dozens of new programs.
- ISBN-10020172684X
- ISBN-13978-0201726848
- Edition3rd
- PublisherAddison-Wesley Professional
- Publication dateDecember 28, 2001
- LanguageEnglish
- Dimensions9.3 x 8.1 x 2.1 inches
- Print length1200 pages
Customers who viewed this item also viewed
Editorial Reviews
From the Back Cover
Software developers and computer scientists have eagerly awaited this comprehensive revision of Robert Sedgewick's landmark texts on algorithms for C++. Sedgewick has completely revamped all five sections, illuminating today's best algorithms for an exceptionally wide range of tasks. This shrink-wrapped package brings together Algorithms in C++, Third Edition, Parts 1-4 and his new Algorithms in C++, Third Edition, Part 5, at a special discounted price. Together, these books are the most definitive, up-to-date, and practical algorithms resource available. The first book introduces fundamental concepts associated with algorithms, then covers data structures, sorting, and searching. The second book focuses entirely on graphing algorithms, which are critical for a wide range of applications, including network connectivity, circuit design, scheduling, transaction processing, and resource allocation. Sedgewick focuses on practical applications, giving readers all the information, diagrams, and real (not pseudo-) code they need to confidently implement, debug, and use the algorithms he presents. Together these books present nearly 2,000 new exercises, hundreds of new figures, and dozens of new programs.
020172684XB07112001
About the Author
Robert Sedgewick is the William O. Baker Professor of Computer Science at Princeton University. He is a Director of Adobe Systems and has served on the research staffs at Xerox PARC, IDA, and INRIA. He earned his Ph.D from Stanford University under Donald E. Knuth.
020172684XAB06262002
Product details
- Publisher : Addison-Wesley Professional; 3rd edition (December 28, 2001)
- Language : English
- Paperback : 1200 pages
- ISBN-10 : 020172684X
- ISBN-13 : 978-0201726848
- Item Weight : 4.41 pounds
- Dimensions : 9.3 x 8.1 x 2.1 inches
- Best Sellers Rank: #3,522,674 in Books (See Top 100 in Books)
- #336 in Computer Programming Structured Design
- #1,321 in Computer Systems Analysis & Design (Books)
- #1,605 in Data Modeling & Design (Books)
- Customer Reviews:
About the author

Robert Sedgewick (born December 20, 1946) is a computer science professor at Princeton University and a member of the board of directors of Adobe Systems.
Sedgewick completed his Ph.D. in 1975 under the supervision of Donald Knuth at Stanford. His thesis was about the quicksort algorithm. In 1975–85 he served on the faculty of Brown University.
Sedgewick was the founding Chairman (1985) of the Department of Computer Science at Princeton University and is currently still a Professor of Computer Science at Princeton. He was a visiting researcher at Xerox PARC, Institute for Defense Analyses and INRIA.
In 1997 Robert Sedgewick was inducted as a Fellow of the Association for Computing Machinery for his seminal work in the mathematical analysis of algorithms and pioneering research in algorithm animation.
Robert Sedgewick is the author of a well-known book series Algorithms, published by Addison-Wesley. The first edition of the book was published in 1983 and contained code in Pascal. Subsequent editions used C, C++, Modula-3, and Java.
With Philippe Flajolet he wrote several books and preprints which promoted analytic combinatorics, a discipline which relies on the use of generating functions and complex analysis in order to enumerate combinatorial structures, and to study their asymptotic properties. As explained by Knuth in The Art of Computer Programming, this is the key to perform average case analysis of algorithms.
He teaches four open online courses on the online learning platform Coursera, namely Algorithms Part I and Part II, Analysis of Algorithms and Analytic Combinatorics.
Bio from Wikipedia, the free encyclopedia.
Customer reviews
Our goal is to make sure every review is trustworthy and useful. That's why we use both technology and human investigators to block fake reviews before customers ever see them. Learn more
We block Amazon accounts that violate our community guidelines. We also block sellers who buy reviews and take legal actions against parties who provide these reviews. Learn how to report
-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
I don't know. Maybe it's because its presentation, the way the author narrates, or just because the renown of the book makes you biased, but as soon as you start reading the very first pages you know you are in for something very special. You know that, after reading this book, you will be a much better computer scientist. I will not lie: I am still in attending college, but I have always been a great programmer, and in all my programming classes I am top of the class. I was really full of myself before buying this book. How wrong was I!
The first thing you get after the preface is some advices on the exercises. The author tells you how some of them are really hard, or some are just really easy, etc. He also states that "There are far too many exercises for you to do read and assimilate them all..." When I read this, I gleaned each section and the amount of exercises (there are literally, thousands), and I said to myself: "I will work on, at the least, 80% of the exercises on each section. I will never avoid the hard or very hard ones" (Sedgewick explicitly tells you how to differentiate them). Alas, even some exercises that are not considered to be hard have been hell on me. Until know, I have been true to my word, but I will get into that later.
Of course, this book is not about the exercises, is about Algorithms, and I'd be dammed if Sedgewick is not considered among the best authors of all times on the topic. I've read other books on Algorithms, and I always find that most books fit into one of these two spectrums: either they are recipes, or they are strictly academic, with little practical use. Algorithms in C++ is neither. Sedgewick makes a deep and interesting analysis on the properties of each algorithm (and data structure), concentrating at first on its abstract properties, not even daring talk about implementations. He is extremely clear in his language. Look, I am an Ecuadorian, living in Ecuador, and my English is pretty much what I have learned in my school or by myself. I can understand Sedgewick perfectly. I don't think I have had to reread a thing twice because the writing was obscure.
After being all abstract and wonderfull and stuff, Sedgewick then implements, and he does so magnificently. Yes, he may have not the best of C++ practices (for example, he explains what C++ operator delete does, but seems to dislike the use of it), or even good programming practices at all (you have, in one program, variables named like: p, a, x, y, z, f), but his implementations are nevertheless clear, straight to the point and efficient. He also constantly reminds the reader how important is to separate implementations from abstract concepts, but also explains the advantages certain implementations have against others.
So, you have learned the concept of the algorithm and it's properties, implemented it, and just when you think it as all over, Sedgwick goes ahead and refines the abstract model of the algorithm, implements it again, and thus a refinement iteration process emerges! All this is aided by graphics, more programs, and clear and concise definitions (which are separated from the text in italics). This whole process is done in one section or many. For example, he explains Pushdown-Stacks in several sections, but using this same process. Don't get me wrong now, Sedgwick does not use a "template" for explaining each topic: he will change his ways of explaining things if necessary, and as a whole the book reads very naturally, it never gets old or repetitive.
Once you finish each section, you get a bunch of exercises. Trust me: WORK ON THEM. Especially the ones marked with unfilled circles. They will bring new insights on the topic (whereas after such grand explanations, you would think more insight could not be obtained). As I said before, I have worked, until now, on more than the 80% of all the exercises. Some require background programming experience, some a high level of math (but not never too high), and they will slow your reading down (there are loads and loads of them!), but if you do them, you will be cool. Your projects will be most efficient and elegant. Teachers will admire your work (though secretly you know they should be admiring Robert Sedgewick).
One final note: this is not an academic book on the analysis of algorithms. This book is strictly for people who really want to put the best algorithms and data structures into practice. Sedgewick will tell you about the O notation, and what it means for an algorithm to run proportional to some function, but it is not the goal of the book to make you sit down and mathematically extract the efficiency of an algorithm. For this Sedgwick has another book, which people hail and glorify too. But with Algorithms in C++ (and C, and Java) you will be able to sit in front of a computer, analyze some problem (or a previously implemented solution to that problem) and determine the most effective way of solving it (or if you can replace the code with a more efficient one).
After walls of text, I hide again. I really hope this helped.
The author was very thorough when he wrote this book, even to the point that he'd has a classification scheme for each question.
In addition to that, I don't think I've found a typo in this book... ever. With that said, I've read the first book thoroughly but haven't read much of the second as graphing algorithms are not as important to me.
I'd recommend this book to anyone with an interest in algorithms and mathematical maturity.
But I would like to particularly highlight the discussions on binary and n-ary search trees. The most enlightening discussion in print, giving the reader a real synoptic view of search tree algorithms, how they evolved, and their culmination in red-black trees.
Other reviewers have mentioned that the algorithms as presented here seem to be just warmed=over versions of their C counterparts presented in the C edition of this work. There is a germ of truth to this, but I really don't consider it to be a valid criticism of the books. The point here is not to present C++ coding techniques, but to understand algorithms. If you want to know what a state-of-the art C++ implementation of Red-Black trees looks like, just read the source code which comes with the GNU compiler toolchain. But you're not going to have a prayer of understanding it until you first understand how Red-black trees work--that's where this book comes in. If you are trying to explain the Red-black tree algorithm, you don't want all of the C++ do-dads and optimizations, templates, etc, all cluttering up the presentation of the skeletal algorithm.
Even trough that, Id recommended part 5 because its a good collection of the most used algorithms based in graphs.


