| |||||||||||||||
|
There is a newer edition of this item:
|
C++: An Introduction to Data Structures, by Larry Nyhoff, is an undergraduate course text on data structures and associated algorithms as expressed in the C++ language.It is an extraordinary textbook forming an excellent introduction to the discipline of programming.
Writing textbooks is much harder than writing general computing books. While authors writing for general publication can cater to their own tastes, textbook authors must strive for both orthogonality and breadth, knowing the reader's exposure to the matters under discussion may be limited for years to those encountered in the textbook. At the same time, the presentation must make the topics memorable.
Nyhoff, of the Calvin College Department of computer science (Grand Rapids, Michigan), succeeds in satisfying these goals. The presentation is both rich and well targeted to undergraduates. It is written in a style surprisingly engaging even for the expert. This is the clearly one of the best volumes of its genre.
The book is about data structures in the classic sense: Nyhoff might have titled the book Algorithms + Data Structures = Programs if Niklaus Wirth hadn't already used the title in the 1960s. C++: An Introduction to Data Structures deals broadly with basic computational algorithms, examining in painstaking detail the data structures that empower the algorithms, from scalars to members of the Standard Template Library. --Jack Woehr, Dr. Dobb's Journal -- Dr. Dobb's Journal
To introduce searching and sorting algorithms and their analysis. Both searching and sorting are covered in detail in the text. It also covers algorithm development, analysis, and introduces algorithm verification, thus providing a first look at important tools for later courses in computer science. The curriculum recommendations also include the following objective for the CS2 course: To provide an introduction to the various areas of computer science and thereby provide a foundation for further studies in computer science. This text continues the portrayal of the discipline of computer science begun in C++: An Introduction to Computing by including examples and exercises from different areas of computer science in an attempt to provide a foundation for further study in theoretical and/or applied computer science. The topics include:
A description of the software development process. Abstract data types Object-oriented programming Computational complexity of algorithms, illustrated by the analysis of standard searching and sorting algorithms An introduction to correctness proofs Data encryption schemes (DES and public key) Data compression using Huffman codes Doubly-linked lists and large integer arithmetic Random number generation and simulation Lexical analysis and parsing Reverse Polish notation and generation of machine code Simple systems concepts such as input/output buffers, parameter-passing mechanisms, address translation, and memory management SUPPLEMENTARY MATERIALS
A number of supplementary materials have been planned for this text: A solutions manual containing solutions to all of the exercises and many of the programming problems (available from the publisher to instructors who adopt the text for use in a course) A companion website (prenhall/nyhoff) containing presentation slides, source code, and additional resources. A lab manual containing tested lab exercises that coordinate with the text (sold separately) ACKNOWLEDGMENTS
I express my sincere appreciation to all who helped in any way in the preparation of this text. I especially thank my editor Laura Steele, whose support and encouragement have kept me going and whose friendship over the past several years has made textbook writing for Prentice Hall an enjoyable experience. My gratitude for friendship, perceptive suggestions and directions, and unflagging support and encouragement goes to Alan Apt, a publisher respected throughout the publishing and academic communities. I also appreciate the management of reviews and mega-many other details handled so promptly and with pleasant demeanor by Assistant Editor (extraordinaire) Kate Kaibni. I must also thank Assistant Managing Editor Eileen Clark, Art Director Heather Scott, Production Editors Sharyn Vitrano and Ann Marie Kalajian and all the others who did such a fantastic job of designing this attractive book and actually getting it into print. Their attention to details has compensated for my lack thereof and their cooperation and kind words were much appreciated. I also owe a debt of gratitude to Ralph Ewton (Univ. of Texas-El Paso) whose thorough, painstaking, and perspicacious comments, criticisms, and suggestions have strengthened the presentation immensely. I also appreciate the following reviewers of the manuscript for their many valuable observations and recommendations: Adair Dingle (Seattle Univ.), Jens Gregor (Univ. of Tennessee), Bob Holloway (Univ. of Wisconsin), Robin Rowe (SAIC, Pt. Loma Research Center), Andrew Sung (New Mexico Tech), and Mansour Zand (Univ. of Nebraska). Of course, I must once again pay homage to my wife Shar and our children and grandchildren-Jeff, Dawn, Rebecca, Megan, and Sara; Jim; Greg, Julie, Joshua and Derek; Tom and Joan-for their love and understanding through all the times that their needs and wants were slighted by my busyness. Above all, I give thanks to God for giving me the opportunity, ability, and stamina to prepare this text.
Larry Nyhoff
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
5 of 5 people found the following review helpful:
5.0 out of 5 stars
Best Intro to ANSI C++ and Datastructures with STL so far,
By
This review is from: C++: An Introduction to Data Structures (Hardcover)
I am teaching the second programming / first data structure course in the department of electrical and computer engineering. This book is very good for students who already know how to program in C or C++. My students learn C part of C++ in the first programming course. This book covers object oriented programming part of C++. Then it follows into data structures. It starts with its own definitions of stack and queue and then migrates to the standard template library (STL). Everything is kept on the undergraduate student level. All other STL books I know assume that you are already an expert in programming or at lest for students after two programming courses, and are too difficult for average non-CS students. My only complain is that pointers are introduced very late in the text. Some students complain that there is not enough examples, while others complain that the book is overexplanatory. My solution to the first problem is providing a set of complete compilable examples on the course Web site. I refer the latter group of students to the programming encyclopedia books for more details. Ordinarily I would rate this text as four star only. Since it is the only introductory text that both introduces OOP and covers STL, it gets five stars from me.
3 of 3 people found the following review helpful:
4.0 out of 5 stars
Great book for introducing Data Structures,
By Mauricio Ramirez (Bogota, COLOMBIA) - See all my reviews
This review is from: C++: An Introduction to Data Structures (Hardcover)
I bought this book as additional reference for my Data Structures course.Pros: The book covers MANY topics. Basic data structures such as stacks, queues, lists and trees (avl, binary, nary) are well developed. ADTs have nice explanations that give a basic insight on designing and implementing them. Great as an introduction to Data Structures with some depth. Cons: Very few code. Most examples don't include any code, which is a crucial part in understanding concepts at times. Graphs seem to be unimportant to Nyhoff, since his coverage of the subject is scarce (or none?). The complexities chapter and ADT analysis seemed too shallow. The examples are extremely simple and complexity analysis for recursive or more complex algorithms is not good. Bottom line: as the title implies, an excellent book for introducing data structures. Lots of subjects are covered. If you need something more advanced, buy something else. Drozdek's Data Structures and Algorithms in C++ is worth checking out.
12 of 16 people found the following review helpful:
3.0 out of 5 stars
Not for the faint of heart,
This review is from: C++: An Introduction to Data Structures (Hardcover)
This book, while perhaps suitable for a more agressive Data Structures course. Was unsuitable for most students in my college Data Structures class after a year of C++ experience. The code presented in the text is very skeletal, with far too many "left as an exercise to the reader" for my taste.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|