Rating:  Summary: Exceptionally good Review: Covers all the standard topics in a very simple and lucid manner. Excellent examples, illustrations, workshop applets and programming exercises. Pick it up without a second thought.
Rating:  Summary: Excellent! Review: For all of those who study computer science, we all know Data Structures ...BR>But with this book, everything comes out clear and easy. Very good examples easy to understand. With good exercises and answers to them. Such a pity I didn't buy it since the beggining of my course. So, if you have to take the Data Structures class, this is the book for you.
Rating:  Summary: Makes learning data structures a joy! Review: I am nearing the end of my Data structures and Algorithms course at the University of Missouri, and I'm doing very well, thanks in part to this fantastic book. I realized right away that I didn't like the assigned textbook for the class, so I did some research online and ended up buying a used, first edition copy of this book. One of the best investments I ever made! (I also purchased another book which I like - see the end of this review). The explanations are so clear, I can honestly say it has been relatively easy to learn. I haven't really struggled at all. The author takes a very sensible approach, only focusing on the subject of algorithms and data structures. He criticizes the current trend of mixing software engineering and oop in with this subject (which is exactly why I don't like the assigned textbook). His goal when writing this book was to create "the most easily understood book ever written on data structures and algorithms." I'd say he hit his mark dead-on! The only thing missing from the book is exercises. There are none (at least not in the first edition). But several times I have taken the code from the accompanying CD and rewritten it to suit my personal programming style, which has been very instructive. I don't know what has been added/changed in the new edition, but you can probably find out by checking the publisher's Website. The author has given us a real gem, and for that I am grateful. By the way, another very good book is "Data structures and Algorithms" by Aho, Ullman, and Hopcroft. I highly recommend it as well. I think it's out of print, but I had no trouble finding a cheap, used copy. Best wishes, Greg Norris
Rating:  Summary: Great Book For Learning Data Structures Review: I bought this book for my Data Structures class at NCSU and it was perfect. There aren't a lot of "real world" examples; its just the straight forward way of showing you want the data structures are and how to code them efficiently. There's also a lot of extra theory in the sorting chapters that I haven't found in other data structure books.
Rating:  Summary: Great Book For Learning Data Structures Review: I bought this book for my Data Structures class at NCSU and it was perfect. There aren't a lot of "real world" examples; its just the straight forward way of showing you want the data structures are and how to code them efficiently. There's also a lot of extra theory in the sorting chapters that I haven't found in other data structure books.
Rating:  Summary: The source code and applets are in... Review: I haven't bought nor read this book but I downloaded the source code and applets from www.samspublishing.com. So for the reader who said they can't be found, here's how you find it: 1) Go to http://www.samspublishing.com/ 2)Choose ISBN as your search category 3) Paste the ISBN of this book = 0672324539 4) Click on Data Structures and Algorithms in Java link 5) Click Downloads in the More Information menu 6) Voila, the two zip files are yours for the taking. I gave this book 5 stars because all the others did :)
Rating:  Summary: Really practical, if you want to learn the material quickly Review: I initially started looking at the study of Algorithms with Sedgewick's "Data Structures and Algorithms with C++", and decided to buy this book because Sedgewick's approach seemed limiting. I have only had a day or two to spend with the Lafore, but I am inclined to express appreciation for the effectiveness of his pedalogical approach. He indicates early on that he wishes, in his presentation, to separate the subject matter from complexities of C++, and also from software design theory and a dense mathmatical treatment, so the focus can remain on data structs and algorithms without unnessary complication. In early chapters, he is able to dispense with "Big O" notation in just a handful of pages, in a way that is quite useful and would be understandable to a high school student, I think. I found myself sailing through the chapters in the book very pleasurably and with ease of understanding of the different topics that I think will be useful to me. Sedgewick's book, by comparison, contains some subtle material not covered in Lafore (quite a lot), and the implementation of the coding better demonstrates the most efficient possible approach (C++ as the underlying programming language, of course, facilitates this). However, the style of the code is comparatively bad, and requires much longer periods of scutinization and repeated efforts to reach a good level of comprehension. Additionally, the style of explication throughout the text is of the bravura, academic type, as much intended to impress a peer group of academics as to serve a genuinely instructive purpose. Additionally, there constant references to-and-fro throughout the text (comprising an astonishing bulk of it, as a matter of fact), and one wonders why things could not be better organized. It is very much of a "plum pudding", in my opinion, very overcomplicated. You will need a lot of patience and a high threshold against irritation to read it. All in all, Sedgewick is a lot better than the famous and infamously incomprehensible Knuth (with whom he learned his licks), but that is not saying a great deal. There are some merits, I think, to teaching DS & algorithms in C++, as this language allows for a very detailed examination of the spinning and whirring gears of machine as it cranks through the code. The requisite C++ level in the Sedgewick is not trivial, but not too steep either ("Practical C++", published by Que, would serve very well as a fairly quick and dirty introduction to C++, completely adequate to get through Sedewick's text), and would come in handy especially for UNIX system-type programing and scientific computing. On the other hand, the Java approach in the Lafore is much more robust, and allows a higher-level tour of the terrain. (Despite his protestations to the contrary, Lafore teaches software engineering in an exemplary manner with his use of the Java OOP paradigm). One self-instuctive approach would be to start with the Lafore, and use this as the text with which to apply the real "elbow grease" of learning the different topics in this area, and then have a read-through of the Sedgewick to see what might be useful there. If you have an extremely masochistic streak and want then to devote the rest of your life to the study and teaching of algorithms, proceed onward to the Knuth, (but get a ph.D in mathmatics beforehand ;-)
Rating:  Summary: Really practical, if you want to learn the material quickly Review: I initially started looking at the study of Algorithms with Sedgewick's "Data Structures and Algorithms with C++", and decided to buy this book because Sedgewick's approach seemed limiting. I have only had a day or two to spend with the Lafore, but I am inclined to express appreciation for the effectiveness of his pedalogical approach. He indicates early on that he wishes, in his presentation, to separate the subject matter from complexities of C++, and also from software design theory and a dense mathmatical treatment, so the focus can remain on data structs and algorithms without unnessary complication. In early chapters, he is able to dispense with "Big O" notation in just a handful of pages, in a way that is quite useful and would be understandable to a high school student, I think. I found myself sailing through the chapters in the book very pleasurably and with ease of understanding of the different topics that I think will be useful to me. Sedgewick's book, by comparison, contains some subtle material not covered in Lafore (quite a lot), and the implementation of the coding better demonstrates the most efficient possible approach (C++ as the underlying programming language, of course, facilitates this). However, the style of the code is comparatively bad, and requires much longer periods of scutinization and repeated efforts to reach a good level of comprehension. Additionally, the style of explication throughout the text is of the bravura, academic type, as much intended to impress a peer group of academics as to serve a genuinely instructive purpose. Additionally, there constant references to-and-fro throughout the text (comprising an astonishing bulk of it, as a matter of fact), and one wonders why things could not be better organized. It is very much of a "plum pudding", in my opinion, very overcomplicated. You will need a lot of patience and a high threshold against irritation to read it. All in all, Sedgewick is a lot better than the famous and infamously incomprehensible Knuth (with whom he learned his licks), but that is not saying a great deal. There are some merits, I think, to teaching DS & algorithms in C++, as this language allows for a very detailed examination of the spinning and whirring gears of machine as it cranks through the code. The requisite C++ level in the Sedgewick is not trivial, but not too steep either ("Practical C++", published by Que, would serve very well as a fairly quick and dirty introduction to C++, completely adequate to get through Sedewick's text), and would come in handy especially for UNIX system-type programing and scientific computing. On the other hand, the Java approach in the Lafore is much more robust, and allows a higher-level tour of the terrain. (Despite his protestations to the contrary, Lafore teaches software engineering in an exemplary manner with his use of the Java OOP paradigm). One self-instuctive approach would be to start with the Lafore, and use this as the text with which to apply the real "elbow grease" of learning the different topics in this area, and then have a read-through of the Sedgewick to see what might be useful there. If you have an extremely masochistic streak and want then to devote the rest of your life to the study and teaching of algorithms, proceed onward to the Knuth, (but get a ph.D in mathmatics beforehand ;-)
Rating:  Summary: Excellent book Review: Just about every Computer Science program requires a course called "Data Structures and Algorithms". In order to become a programmer you must understand the information provided in this course. This book was written as a textbook for a "Data Structures and Algorithms" course and all the expected topics are covered; arrays, queues, stacks, linked lists, trees, hash tables, heaps, sorting, recursion, and searching. Whether you are a teacher looking for a text, a student who wants a better text than the required one, or just someone who wants to learn more about programming, this book is a very good choice. By using Java, all the complications of C++ are eliminated and the author's crystal clear explanations come shining through. And the author's explanations and examples are excellent. For example, the chapter on link lists explains what a linked list is, what problems it is supposed to solve and what problems it fails to solve, and then shows how to implement your own link list. The author provides a set of applets to visually illustrate the topics covered in the book. There are questions at the end of each chapter and answers are provided. This book is not going to explain the Collection classes or help you learn the API. What this book will do is help you get a deeper understanding of what data structures are, how they work, and what performance sacrifices must be made in order to achieve better overall performance in your programs.
Rating:  Summary: Excellent book Review: Just about every Computer Science program requires a course called "Data Structures and Algorithms". In order to become a programmer you must understand the information provided in this course. This book was written as a textbook for a "Data Structures and Algorithms" course and all the expected topics are covered; arrays, queues, stacks, linked lists, trees, hash tables, heaps, sorting, recursion, and searching. Whether you are a teacher looking for a text, a student who wants a better text than the required one, or just someone who wants to learn more about programming, this book is a very good choice. By using Java, all the complications of C++ are eliminated and the author's crystal clear explanations come shining through. And the author's explanations and examples are excellent. For example, the chapter on link lists explains what a linked list is, what problems it is supposed to solve and what problems it fails to solve, and then shows how to implement your own link list. The author provides a set of applets to visually illustrate the topics covered in the book. There are questions at the end of each chapter and answers are provided. This book is not going to explain the Collection classes or help you learn the API. What this book will do is help you get a deeper understanding of what data structures are, how they work, and what performance sacrifices must be made in order to achieve better overall performance in your programs.
|