Reflecting the newest trends in computer science, new and revised material throughout the Second Edition of this book places increased emphasis on abstract data types (ADTs) and object-oriented design. This book continues to offer a thorough, well-organized, and up-to-date presentation of essential principles and practices in data structures using C++. Topics include C++'s I/O and string classes, pointers and dynamic allocation, lists, array-based and linked-list implementations of stacks, queues, searching, inheritance and more. For computer professionals in companies that have computing departments or those who want advanced training in C++.
- 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 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.
- 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 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.