Rating:  Summary: I'm speechless about this book... Review:
I've seen many worst books out there but this one seems to top it all. The author really makes simple thing complicated, I'm not sure why. I have a decent background in programming and I'm just trying to learn a bit more about Data strucctures and learn C++ at the same time (two birds with one stone, ya know)
but this book really gives me an Ulcer.
I'm reading this book b'cause I'm taking a class and unfortunately (you guess it) this is the required text book, but luckily I already finished post graduate school
so I'm just taking this class to improve my programming skills so having lousy grade is not an issue.
I can't wait to resell this lousy book. Does anyone know a better C++ Data structure book out there, besides this one of course?
Thank You
Rating:  Summary: Hard to follow. Review: Even if you have a C++ background, the book is at best unclear
Rating:  Summary: Will probably read again Review: I am a sophomore in college and this is my second semester using this book. I must admit that it was a bit confusing at first with the transitions he made from the logical aspects to the implementation of the data structures, but eventually I absorbed what he was getting at. I must admit that there were many who did not fare so well but I do not see that as a reflection on the book. The practices in this book are sound and he enforces good style for class reuse.
Rating:  Summary: Look Elsewhere for a text Review: I found this book unsuitable for my data structures students. I did not like the examples presented, and often thought the author was going off on tangents that had little to do with the actual data structures at hand. The author seemed to get bogged down in insignificant details. My students have strongly rebelled against this text.I would suggest looking further for a text.
Rating:  Summary: A textbook for what? Review: I just got complained about not following this textbook in the course of "Data structure". In the first six weeks of this semester, I have to stuff the students with supplementary materials about how to define a class, how to use a class in a program, what is the relatioship between class and object, what is the hell "abstract data type" thing to do with class, why use private access control while we want to know something. All these things are not supposed to cover in a semester for this course, I guess. However, most of my students have only "heard of" class and "public, private, protected", etc, which they had in their CS1/CS2 courses. After the first homework to learn how to define a class and use it a program, we are hoping we can go straightly with the five sructures. But surprisely from chapter 3, I found that I am preparing a "System Analysis and Design" class or maybe a "Software Engineering" class. Sometime, I got stuck on the black-board, because I suddenly realized that the codes I just wrote down on the black-board contains infinite loop. For instance, this one on page150 in the third edition, quote: "Examine this algorithm carefully and convince yourself that it is correct. Try cases where you are deleting the first item and the last item. void SortedType::DeleteItem(ItemType item) { int location = 0; while(item.ComparedTo(info[location]) != EQUAL) location++; for(int index = location+1; index info[index-1] = info[index]; length--; } " I am just wondering whether the authors have tried themselves to see what if this code is used to delete an item NOT in the list at all, and what if the list is thought to be empty but the item at the first slot of the array is coincide with "item"? Erros like these exist many places. I personally dislike the textbook mostly because of its style. The authors use the same methodology in wrting the textbook for "Computer Science Illuminated", in which a lot of things are menioned but not detailed, and a (coding, logical, and presenting) style is not kept and changed without smooth transition for the treating similar things. This is especially the case in the chapters of Chapter 5, Chapter 7 and Chapter 8" when dealing with recurssively implementions of those structures.
Rating:  Summary: A textbook for what? Review: I just got complained about not following this textbook in the course of "Data structure". In the first six weeks of this semester, I have to stuff the students with supplementary materials about how to define a class, how to use a class in a program, what is the relatioship between class and object, what is the hell "abstract data type" thing to do with class, why use private access control while we want to know something. All these things are not supposed to cover in a semester for this course, I guess. However, most of my students have only "heard of" class and "public, private, protected", etc, which they had in their CS1/CS2 courses. After the first homework to learn how to define a class and use it a program, we are hoping we can go straightly with the five sructures. But surprisely from chapter 3, I found that I am preparing a "System Analysis and Design" class or maybe a "Software Engineering" class. Sometime, I got stuck on the black-board, because I suddenly realized that the codes I just wrote down on the black-board contains infinite loop. For instance, this one on page150 in the third edition, quote: "Examine this algorithm carefully and convince yourself that it is correct. Try cases where you are deleting the first item and the last item. void SortedType::DeleteItem(ItemType item) { int location = 0; while(item.ComparedTo(info[location]) != EQUAL) location++; for(int index = location+1; index<length; index++) info[index-1] = info[index]; length--; } " I am just wondering whether the authors have tried themselves to see what if this code is used to delete an item NOT in the list at all, and what if the list is thought to be empty but the item at the first slot of the array is coincide with "item"? Erros like these exist many places. I personally dislike the textbook mostly because of its style. The authors use the same methodology in wrting the textbook for "Computer Science Illuminated", in which a lot of things are menioned but not detailed, and a (coding, logical, and presenting) style is not kept and changed without smooth transition for the treating similar things. This is especially the case in the chapters of Chapter 5, Chapter 7 and Chapter 8" when dealing with recurssively implementions of those structures.
Rating:  Summary: Worst book ever Review: I must state that any of Nell Dale's books that I have used I have found very poorly written and organized. The problems can be hard to understand, let alone trying to answer them. It goes into excessive detail when little is needed. I must say that ANY student required to use this book better be prepared for a hard class...because this book will be the bane of your existance until you can safely get rid of it.
Rating:  Summary: much clearer than other data structures texts Review: I was surprised at some of the other reviews that said this book was terrible. I have used three other data structures books covering the same material and found this one to be far and away the most complete and well explained. One reviewer complained that you had to know C++ to use this book. This is true. But the intended audience is those who HAVE had a CS1 or first semester course which covers C++ syntax.
Rating:  Summary: How to teach fish to swim and birds to fly Review: I've been in college as teacher and student for almost 40 years, and this is one of the most soul-destroying textbooks in any field I have studied. When introducing fundamentals, the authors often express themselves poorly and try to compensate through repetition and paraphrase. This confuses the student fresh to the material, since it is not clear whether the same point is being repeated, or developed, or a new one introduced. On the other hand, they simply skirt concepts--exception handling, for example--that need to be explained in detail. Instead of straightforwardly presenting new material, they tiptoe around it through constructs of their own design which are no more easy to learn and whose relation to the essential point is unclear. For example, something like myNode->next->back refers to the node pointed to by the back pointer of the node following myNode, i.e. to myNode itself. Not too mind-boggling. But first they have to lead us through a song and dance about a notation they invented which represents the preceding as back(next(myNode)), which is (a) unnecessary, (b) more complex, and (c) really confusing because (a) it is exactly backwards, and (b) the most deeply nested item is one that dominates the structure. The whole book is like this, a weird combination of aimlessness with a hidden agenda, expressed in patronizing, humorless, finger-wagging. Other reviewers call it a good reference work; it is not. It is poorly indexed, partly because the explanation of a single concept may appear at intervals through several chapters of context which, though rambling, is a necessary to grasp the meaning. Note that the enthusiastic reviews of this book come from a software reviewer, someone who finds this the clearest of the _three_ data structure books he's used, and someone who recommends it to advanced programmers, granting that you have to understand C++ classes to follow the book--although the book's task is to _introduce_ C++ classes. Another says that all previous courses just taught C++ coding--but this is a second-semester text! In other words, it's a great book to own if you don't need it. I think teachers who like this book don't actually read it, just flip through it, checking points, "Lists, yup, linked lists, yup, doubly-linked lists, with circles and arrows on the back, yup, yup, yup, it's all there," because THEY DON'T HAVE TO LEARN ANYTHING FROM IT. I can't see how any teacher could adopt it who tried to read it from the point of view of someone new to the material presented.
Rating:  Summary: Excellent Second Semester Text! Review: I've just finished a data structures course at the University of Maryland. This was the required text. This book "turned the light on" for me. Every other programming course/text I've had focused on the syntax of C++. This book focuses on the art of programming. The authors go to great pains to demonstrate program design independent of implementation. To do this, they place great emphasis on software engineering principles. Some students new to programming may not have a full appreciation for this methodology, but as a software tester, I completely understand and agree with the author's approach. First, design the program from the logical point of view. Then, build to the application level. With the understanding gained from the two previous steps, THEN make the implementation decisions. There is much more pseudocode than source code in each chapter. But the pseudocode is so complete that it is easily transformed into source. This book has helped me make the leap from being a mere "coder" to a fledging programmer. From conversations with senior programs at my job, this text covers all the most important data structures that every programmer should understand and be able to implement. I suspect that those reviewers who found this book unintelligible were too new to programming.
|