To use our price comparison to get the cheapest price, please click on the "Find the Cheapest Price" button located above for Algorithms by Sanjoy Dasgupta, Christos H. Papadimitriou, Umes (ISBN-10: 0073523402, ISBN-13: 9780073523408). At this time we have not yet written a review for Algorithms by Sanjoy Dasgupta, Christos H. Papadimitriou, Umes (ISBN-10: 0073523402, ISBN-13: 9780073523408). Please continue to keep checking back to this page as we are constantly adding reviews. Summaries and Customer Reviews are supplied by Amazon.com This text, extensively class-tested over a decade at UC Berkeley and UC San Diego, explains the fundamentals of algorithms in a story line that makes the material enjoyable and easy to digest. Emphasis is placed on understanding the crisp mathematical idea behind each algorithm, in a manner that is intuitive and rigorous without being unduly formal.. . Features include:. The use of boxes to strengthen the narrative: pieces that provide historical context, descriptions of how the algorithms are used in practice, and excursions for the mathematically sophisticated.. . Carefully chosen advanced topics that can be skipped in a standard one-semester course, but can be covered in an advanced algorithms course or in a more leisurely two-semester sequence.. . An accessible treatment of linear programming introduces students to one of the greatest achievements in algorithms. An optional chapter on the quantum algorithm for factoring provides a unique peephole into this exciting topic. In addition to the text, DasGupta also offers a Solutions Manual, which is available on the Online Learning Center.. . "Algorithms is an outstanding undergraduate text, equally informed by the historical roots and contemporary applications of its subject. Like a captivating novel, it is a joy to read." Tim Roughgarden Stanford University. . A reasonable textbook that needs much more... | Customer Rating: | | I'm a studnet who's currently taking this an algorithm class in UCB based on this textbook. I have to say that this book is not a bad algorithm book, but it's really overly terse. It's sometimes hopeless to do some of the exercises given the lack of examples and rigorous proof presented in the textbook. You will think the materials are simple when you're reading the book until you look at the exercises and find out you have no clue how to do them. If you're using this book for your course, hope you get a good professor and good TAs. If you have a bad professor, be prepared to leave the course feeling not learning any thing! | An excellent and small choice for a textbook in algorithms | Customer Rating: | One of the most appealing characteristics of this book is the small size. Textbooks in algorithms are similar to those of other fields in that they have continued to increase in girth over the years. At 320 pages, this book is a relative midget. However, that does not in any way mean that it is weak in content, there is plenty of material for a one-semester course in algorithms. The chapters are:
*) Prologue - a bit of history and the big-O notation *) Algorithms with numbers - basic and modular arithmetic, primality testing and cryptography *) Divide-and-conquer algorithms - multiplication, recurrence relations, mergesort, matrix multiplication and the Fast Fourier Transform (FFT). *) Decomposition of graphs - the fundamental definition of directed and undirected graphs and performing depth-first searches. *) Paths in graphs- basic algorithms used in graph searches *) Greedy algorithms - some fundamental greedy algorithms and their basic level of performance *) Dynamic programming - shortest paths, knapsack optimization and independent sets in trees *) Linear programming and reductions - the definition of linear programming and some of the standard problems that it can be used to solve *) NP-complete problems - definition of NP-complete, some examples and reduction strategies used to show NP equivalence *) Coping with NP-completeness - intelligent search, approximation and random algorithms *) Quantum algorithms - a brief foray into a possible revolution in computing. Explanations of how data may be stored and processed at the quantum level.
The explanations are brief yet thorough enough for advanced computer science students, the algorithms are presented in a generic pseudocode. A large set of exercises are included at the end of the chapters, the expectation is that the solutions will be expressed in pseudocode. Despite the compactness of the presentation, this book is a worthy choice for the textbook in an algorithms course for upper level computer science majors. | A Supplemental Text | Customer Rating: | The top choice for an algorithms text is generally considered to be Cormen, et al. However, Cormen is not unassailable, and an author that is able to provide an alternate and useful approach into the subject can find his audience. Skiena's Algorithm Design Manual comes to mind in this regard, and some even consider it superior to Cormen. Dasgupta, Papadimitriou and Vazirani "Algorithms" provide yet a third approach. While less comprehensive than either Cormen or Skiena, the tone is more conversational and relaxed. At only 320 pages, it cannot be expected to be comprehensive. Certain standard topics are barely covered (such as binary search trees and red black trees) if at all. Because of this, it can only be a used as an introductory text, or maybe used as a supplement to Cormen or Skiena
And now for the bad... "Algorithms" does not have answers to any of the end of chapter problems. There really is no justification for this. Yes Cormen and Skiena also do not provide answers...but as I mentioned earlier, if they want to compete with Cormen and Skiena, they have to provide something new, and giving students the answers to some of the problems would have been the easist way to accomplish this. The authors exhibit enough inaccuracies when discussing non-computer science topics (ie, linear algebra, cryptography, and quantum mechanics) that at times, you have to wonder about their command of the main topic -- algorithms.
So, consider, for example, when discussing the simplex algorithm on page 213, they incorrectly define what is meant by a hyperplane. The standard definition can be found in Hoffman and Kunze (i.e., in a vector space of dimension n, a subspace of dimension n-1 is a hyperspace or hyperplane). Their definition is simply wrong. Moving on to cryptography, they discuss the one time pad, the AES, and the RSA cryptosystems. They dismiss the one-time pad as a toy scheme, and suggest that at the other end of the spectrum is the AES scheme. The fact is just the opposite -- the one-time pad has been proven to be a completely secure and unbreakable cryptosystem, and the AES has not been proven so. Also, comparing the one time pad to the RSA, one should note the RSAs security relies on the non-proven difficulty of factoring large numbers...and if quantum computers ever became a reality, the fact is the RSA would be broken. The reason the one time pad is not used is not because it is a toy. It is not used because in the one-time pad, the symmetric key can only be used once, and so a new problem -- key distribution -- is introduced, which in fact makes the one time pad impractical for most applications. Moving on to algebra, on pg. 33 we see the statement "The mapping x|-> x^e mod N is a bijection on {0,1,2,...,N-1}". A mathematician would properly state this as onto, not on, {0,1,2,...,N-1}, since the map is a bijection.
Finally, the last chapter is on quantum algorithms (big marks for bravery), which neither Cormen and Skiena do (Skiena has a new edition of his book on the way, so we will have to wait and see if his latest covers it). From a physics point of view, the chapter falls way short. They attempt to introduce qubits by discussing a single electron atom. The problem is they do not seem to realize you cannot use an atom for both a qubits and a classical bits discussion. An atom is 100% quantum mechanical. (By comparison, when Feynman discussed the double slit experiment, he used electrons to illustrate the quantum effects, and bullets for the classical case.) Therefore, the author's statement on page 298 "These are the two possible states of the electron in classical physics" is just nonsense. In classical physics, the electron does not have a first excited state, it has a continuum of possible states -granted, the states are not stable and the electron will promptly spiral into the nucleus, but that is a separate issue. The authors also give a quote by Feynman: "I think I can safely say that no one understands quantum physics". Yes, at the time Feynman said that, that was probably true. But quantum theory has not stood still, and Feynman perhaps did not know the theory of decoherence, or perhaps he considered it speculative. But, as decoherence has now been observed in the laboratory, there is in fact a school of thought, championed by Roland Omnes, which claims that quantum mechanics is now, with the addition of decoherence, finally in some sense understood. ...Also, they introduce a two particle system as a tensor product state. It is true this is the correct description, but it is not correct to do so without any motivation of why (why not a direct sum of vector spaces, for example? Why must it be a tensor product of vector spaces?) and without bothering to give a definition of a tensor product. I encourage the interested reader to consult "Quantum Mechanics - a modern development" by Ballentine and also the outstanding "The Quantum Mechanics Solver" by Basdeveant and Dalibard if they truly wish to understand the modern Quantum Theory topics which the authors have so poorly treated. Still, despite the above issues, as long as one is using this book as a supplement, and not the main text, I think it can serve as valuable resource for the algorithms student. | My first choice as an instructor | Customer Rating: | I occasionally teach algorithms at CU Boulder to our undergraduates. This book accomplishes what it set out to do: provide a comprehensible (but not comprehensive) treatment of a core piece of Computer Science at an affordable cost.
That we get one of the greatest researchers in the area (Papadimitriou) alongside two other distinguished authors is just icing on the cake.
The first printing had numerous errors, though the online version of the book had already corrected many of them. I haven't used the book since then, but will in the Fall, and I'd expect with the vigor already invested by the authors, the book will be in even better shape.
I'm glad they wrote this thing.. it was long overdue. | Author's student: By Far The Best Algorithms Book! | Customer Rating: | | As a CS undergrad at UC San Diego, the author used rough drafts of this book to teach the algorithms course I took as a student. Although we also used the Cormen("The Bible") Algorithms book for casual reference, this text is by far better to explain the concepts behind the algorithms. I must say that the author presents the course with this text far clearer and superior than the usual dry mathematicians and the contents of the material reflects his expertise in lecturing and writing. The lucid writing makes it a joy to actually read an algorithms book, and the exercises are definitely worth investigating. This book simply makes algorithms fun! |
|