Amazon.com: C++: An Introduction to Data Structures (9780023887253): Larry Nyhoff: Books

Have one to sell? Sell yours here
C++: An Introduction to Data Structures
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

C++: An Introduction to Data Structures [Hardcover]

Larry Nyhoff (Author)
4.1 out of 5 stars  See all reviews (7 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Hardcover --  
Paperback, Import --  
There is a newer edition of this item:
ADTs, Data Structures, and Problem Solving with C++ (2nd Edition) ADTs, Data Structures, and Problem Solving with C++ (2nd Edition) 4.0 out of 5 stars (8)
Currently unavailable

Book Description

January 21, 1999 Pie
Designed for the introductory Data Structures course that typically follows a first course in programming, this book offers a thorough, well-organized and up-to-date presentation of essential principles and practices in data structures using C++.


Editorial Reviews

Review

Read the full review of this book.

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

From the Inside Flap

This text is designed for the course CS2 as described in the curriculum recommendations of the ACM (Association of Computing Machinery). It aims to meet the major objectives of this course as spelled out in these recommendations, one of which is: To continue developing a disciplined approach to the design, coding, and testing of programs written in a high-level language. This text continues the Object-Centered-Design paradigm developed in the C++ text of which I am one of the authors-C++: An Introduction to Computing-and culminates in true OOP (Object-Oriented Programming), which has become the modus operandi in programming and system development. It also continues the coverage of C++, including more advanced topics not usually covered in a first course and that students need to learn such as recursion, function and class templates, inheritance, and polymorphism. Standard C++ as prescribed in the final November 1997 ANSI/ISO draft is used throughout.

Two other objectives of CS2 are: To teach the use of data abstraction using as examples data structures other than those normally provided as basic types in current programming languages; for example, linked lists, stacks, queues, and trees. To provide an understanding of the different implementations of these data structures. This text emphasizes abstract data types (ADTs) throughout. It is a study of data structures in the spirit of OOP. All of the usual data structures are covered as recommended. It also treats the containers and algorithms from the Standard Template Library, which are up-to-date and powerful standard data types and tools in C++. In addition, some of the C-style topics appropriate in a data structures course are included, because many students will get jobs as C programmers; many libraries are written in C; C-style data structures are usually implemented very efficiently; and they are often used to implement some of the more modern standard data types.

Another objective of the CS2 course is: 8

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

  • Hardcover: 700 pages
  • Publisher: Prentice Hall (January 21, 1999)
  • Language: English
  • ISBN-10: 0023887257
  • ISBN-13: 978-0023887253
  • Product Dimensions: 9.6 x 7.2 x 1.6 inches
  • Shipping Weight: 3 pounds
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #1,027,633 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

7 Reviews
5 star:
 (3)
4 star:
 (2)
3 star:
 (2)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.1 out of 5 stars (7 customer reviews)
 
 
 
 
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, January 23, 2002
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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 3 people found the following review helpful:
4.0 out of 5 stars Great book for introducing Data Structures, September 18, 2004
By 
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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 16 people found the following review helpful:
3.0 out of 5 stars Not for the faint of heart, January 31, 2000
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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews





Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)
(1)
(1)
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject