C++: An Introduction to Data Structures

4.6 out of 5 stars 9 ratings
ISBN-13: 978-0023887253
ISBN-10: 0023887257
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Share
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club? Learn more
Amazon book clubs early access

Join or create book clubs

Choose books together

Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
Used: Good | Details
Sold by Buy AM
Condition: Used: Good
Comment: *Good Condition Overall*. Discounted because some pages contain highlights or underlines. Cover & Binding are Solid. Great Value! Amazon Stored & Shipped!
Access codes and supplements are not guaranteed with used items.
FREE delivery Wednesday, May 11
Or fastest delivery Friday, May 6. Order within 11 hrs 16 mins
Only 1 left in stock - order soon.
Available at a lower price from other sellers that may not offer free Prime shipping.
List Price: $84.00 Details
Save: $32.01 (38%)
FREE delivery Tuesday, May 10
Or fastest delivery Monday, May 9. Order within 17 hrs 31 mins
C++%3A+An+Introduction+to+D... has been added to your Cart
Available at a lower price from other sellers that may not offer free Prime shipping.

There is a newer edition of this item:

ADTs, Data Structures, and Problem Solving with C++
$25.99
(54)
Only 6 left in stock - order soon.

Amazon First Reads | Editors' picks at exclusive prices

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



Learn new cuisines with virtual cooking experiences
Amazon Explore Browse now

Product details

  • Publisher ‏ : ‎ Prentice Hall (January 21, 1999)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 840 pages
  • ISBN-10 ‏ : ‎ 0023887257
  • ISBN-13 ‏ : ‎ 978-0023887253
  • Item Weight ‏ : ‎ 2.99 pounds
  • Dimensions ‏ : ‎ 7.5 x 1.5 x 9.75 inches
  • Customer Reviews:
    4.6 out of 5 stars 9 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read author blogs and more

Customer reviews

4.6 out of 5 stars
4.6 out of 5
9 global ratings
5 star
75%
4 star
12%
3 star
12%
2 star 0% (0%) 0%
1 star 0% (0%) 0%

Top reviews from the United States

Reviewed in the United States on January 23, 2002
8 people found this helpful
Report abuse
Reviewed in the United States on September 19, 2004
4 people found this helpful
Report abuse
Reviewed in the United States on May 27, 2001
5 people found this helpful
Report abuse
Reviewed in the United States on January 31, 2000
12 people found this helpful
Report abuse
Reviewed in the United States on May 13, 2000
8 people found this helpful
Report abuse
Reviewed in the United States on September 25, 2007