ADTs, Data Structures, and Problem Solving with C++

Series
Prentice Hall
Author
Larry R. Nyhoff  
Publisher
Pearson
Cover
Softcover
Edition
2
Language
English
Total pages
1072
Pub.-date
July 2004
ISBN13
9780131409095
ISBN
0131409093
Related Titles


Textbook

Product Price CHF Available  
9780131409095
ADTs, Data Structures, and Problem Solving with C++
226.60 approx. 7-9 days

Description

For the introductory Data Structures course (CS2) that typically follows a first course in programming.

This text continues to offer a thorough, well-organized, and up-to-date presentation of essential principles and practices in data structures using C++. Reflecting the newest trends in computer science, new and revised material throughout the Second Edition places increased emphasis on abstract data types (ADTs) and object-oriented design. \

 

To access the author's Companion Website, including Solutions Manual, for ADTS, Data Structures and Problem Solving with C++,  please go to http://cs.calvin.edu/books/c++/ds/2e/

 

For other books by Larry Nyhoff, please go to www.prenhall.com/nyhoff

 

Features

  • NEW - New chapter with expanded and improved discussion of C++'s I/O and string classes.
  • NEW - New chapter on searching-Including modified and expanded treatment of binary search trees and hash tables.
  • NEW - Revised chapter on inheritance.
  • NEW - Revised Chapter 1-Introduces other software engineering methods besides the waterfall model, introduces UML, describes top-down design and object-oriented design in detail, relates some of the "horror stories" of bad software design.
  • NEW - Expanded chapter on queues-Including array-based and linked-list implementations, and a revised simulation case study.
  • NEW - Earlier presentation of lists (Ch. 3) -Before stacks and queues. Revised to include array-based (static and dynamic) list classes, an introduction to linked lists, and more standard symbols in diagrams.
  • NEW - Earlier presentation of pointers and dynamic allocation-Including an expanded discussion of the new operator (Ch. 2)
  • NEW - Marginal icons-Used to call attention to key features and warnings.
  • NEW - Uniform method of displaying ADT specifications in a UML-style diagram.
  • NEW - A new appendix "From Java to C++"-Helps those making a transition from Java to C++.
  • NEW - Array-based and linked-list implementations of stacks.
  • NEW - Student CD-Contains all of the source code from the text.
  • Over 1,000 exercises-Including written exercises, programming problems, and projects.
  • Emphasis on abstract data types (ADTs) throughout-Reinforcing the study of data structures in the spirit of OOP.
  • Coverage of the containers and algorithms from the Standard Template Library-Introducing the most up-to-date and powerful tools in C++.
  • Coverage of advanced C++ topics-Including recursion, function and class templates, inheritance, and polymorphism.
  • Discussions of all of the usual data structures, such as stacks and queues-Builds a foundation for later courses.
  • Discussion of algorithm development, analysis, and verification-Provided training with important tools that will most likely be needed in future computer science work.
  • Companion Website (www.prenhall.com/nyhoff) -Contains source code for text examples, solutions to case studies, PowerPoint slides, and more.
  • Lab Manual (located under the student resources tab) -- Contains solutions to Lab exercises.            
  • Self-test Quick Quizzes with answers in back of text.
  • Boxed Displays-Call attention to important concepts.
  • Effective use of color-Highlights important features.
  • More conformance to the C++ standard than many other texts.
  • Solid introduction to the C++ Standard Template Library.
  • A review of C++ in the appendixes for handy reference.
  • Programming pointers and ADT tips at chapter ends.

New to this Edition

  • New chapter with expanded and improved discussion of C++'s I/O and string classes.
  • New chapter on searching-Including modified and expanded treatment of binary search trees and hash tables.
  • Revised chapter on inheritance.
  • Revised Chapter 1-Introduces other software engineering methods besides the waterfall model, introduces UML, describes top-down design and object-oriented design in detail, relates some of the "horror stories" of bad software design.
  • Expanded chapter on queues-Including array-based and linked-list implementations, and a revised simulation case study.
  • Earlier presentation of lists (Ch. 3) -Before stacks and queues. Revised to include array-based (static and dynamic) list classes, an introduction to linked lists, and more standard symbols in diagrams.
  • Earlier presentation of pointers and dynamic allocation-Including an expanded discussion of the new operator (Ch. 2)
  • Marginal icons-Used to call attention to key features and warnings.
  • Uniform method of displaying ADT specifications in a UML-style diagram.
  • A new appendix "From Java to C++"-Helps those making a transition from Java to C++.
  • Array-based and linked-list implementations of stacks.
  • Student CD-Contains all of the source code from the text.

Table of Contents



 1. Software Engineering.


 2. Introduction to Data Structures and Abstract Data TypesÑC-Style Types.


 3. Procedural Programming, Structures, and Classes.


 4. Standard I/O and String Classes.


 5. Lists.


 6. Stacks.


 7. Queues.


 8. Templates and Standard Containers.


 9. Recursion and Algorithm Analysis.


10. More Linked Lists.


11. Binary Trees and Hash Tables.


12. Sorting.


13. OOP and ADTs.


14. Trees.


15. Graphs and Digraphs.


Appendix A: ASCII Character Set.


Appendix B: Number Systems.


Appendix C: Basic C++.


Appendix D: Other C++ Features.


Appendix E: Answers to Quick Quizzes.


Index.

Back Cover

Abstract data types (ADT's) and data structures are key elements in unlocking the power of object-oriented programming. Designed for CS2 course; this popular book thoroughly covers ADTs (Abstract Data Types), data structures, and their use in problem solving. The text guides the student through the development of ADTs such as stacks, queues, and binary trees, the use of key data structures such as arrays, classes and linked lists to implement ADTs, and problem solving using Object-Oriented Design (OOD) methodologies. Algorithms required to design arid implement ADTs in C++ are given thorough treatment along with a solid introduction to the Standard Template Library (STL). C++ topics such as recursion, inheritance, and polymorphism are introduced and some C-style topics relative to data structures are also provided. Using examples, case studies and exercises from various areas of computer science, author Larry Nyhoff offers the student a solid foundation for further studies in CS while providing concrete tools for unlocking the power of C++.

New to the Second Edition
  • New chapters on searching and C++'s I/O and string classes
  • Improvements and additions to diagrams
  • Consistent naming conventions
  • Complete source code for ADTs
  • Expanded treatment of selected topics on the text's website
  • Introduces UML and uses UML-style diagrams for ADT specifications

Author

Larry B. Nyhoff earned the B.A. in Mathematics in 1960 from Calvin College and the M.S. in 1961 from the University of Michigan. Larry continued his study of Mathematics and received the Ph.D. in 1969 from Michigan State University. He also did graduate work in computer science from 1981-83. He is in his 41st year as a professor at Calvin College and has aided in the development of the college's computer science curriculum since its inception. In addition to authoring and coauthoring nearly 30 textbooks used worldwide, Larry is a professional member of ACM and SIGCSE. He was selected to be the 2001-02 recipient of Calvin College's Presidential Exemplary Teaching Award.


Instructor Resources