C++ Data Structures is designed to fit perfectly into the third semester of Computer Science or Software Engineering curriculums by teaching three important skills. First, C++ Data Structures helps students learn how the most useful data structures work by guiding them through common manipulations. Each student will have an opportunity to learn their inner workings by both manipulating the data structures by hand and to building them from scratch.
Second, C++ Data Structures illustrates how to solve problems with data structures. The classical problems are presented as well as several new and original ones. Extra attention is spent on problem solving skills – both techniques and ways to evaluate the quality of solutions.
Finally, C++ Data Structures helps students learn how to write code to match an interface. This will be done through developing data structures to match C++’s standard template.
Ancillary materials include:
Slide Decks for every chapter. These slides have
All the examples in the textbook
All the exercises with solutions
All the problems with solutions
Unit Tests for every chapter. These are programs that test the students’ programs, making it trivial to grade a student’s work (I.e., you can grade 30 student’s work in about 10 seconds)
Keys for every lab
About 30-40 minutes of videos for every chapter.
Second Edition Coming Soon!
Title Page
Table of Contents
Introduction
Chapter 01: Boolean
Chapter 02: Integer
Chapter 03: Real Number
Chapter 04: Linked List
Chapter 05: Binary Tree
Chapter 06: Binary Search Tree
Chapter 07: Graph
Chapter 08: Vector
Chapter 09: List
Chapter 10: Deque
Chapter 11: Stack
Chapter 12: Queue
Chapter 13: Priority Queue
Chapter 14: Hash
Chapter 15: Set
Chapter 16: Map
Appendix A: Pseudocode
Appendix B: UML Class Diagram
Appendix C: Operator Overloading
Appendix D: Template
Appendix E: Iterator
Appendix F: Nested Class
Appendix G: Namespace
Appendix H: Recursion
Appendix I: Allocator
Appendix J: Algorithmic Efficiency
Appendix K: Glossary
Index
Powerpoint
Test Bank
Video Lectures
James N
Helfrich
James Helfrich received his Bachelor’s Degree and Master’s Degree from the University of Pennsylvania, and his PhD from Idaho State University. After working as a Software Developer and Program Manager at the Microsoft Corporation for 11 years on the Office family of product, he began teaching Software Engineering at Brigham Young University - Idaho. Dr. Helfrich has taught thousands of students and prepared them for high paying software development jobs. Dr. Helfrich has written numerous scholarly articles on a variety of topics and has published four textbooks.
C++ Data Structures is designed to fit perfectly into the third semester of Computer Science or Software Engineering curriculums by teaching three important skills. First, C++ Data Structures helps students learn how the most useful data structures work by guiding them through common manipulations. Each student will have an opportunity to learn their inner workings by both manipulating the data structures by hand and to building them from scratch.
Second, C++ Data Structures illustrates how to solve problems with data structures. The classical problems are presented as well as several new and original ones. Extra attention is spent on problem solving skills – both techniques and ways to evaluate the quality of solutions.
Finally, C++ Data Structures helps students learn how to write code to match an interface. This will be done through developing data structures to match C++’s standard template.
Ancillary materials include:
Slide Decks for every chapter. These slides have
All the examples in the textbook
All the exercises with solutions
All the problems with solutions
Unit Tests for every chapter. These are programs that test the students’ programs, making it trivial to grade a student’s work (I.e., you can grade 30 student’s work in about 10 seconds)
Keys for every lab
About 30-40 minutes of videos for every chapter.
Second Edition Coming Soon!
Title Page
Table of Contents
Introduction
Chapter 01: Boolean
Chapter 02: Integer
Chapter 03: Real Number
Chapter 04: Linked List
Chapter 05: Binary Tree
Chapter 06: Binary Search Tree
Chapter 07: Graph
Chapter 08: Vector
Chapter 09: List
Chapter 10: Deque
Chapter 11: Stack
Chapter 12: Queue
Chapter 13: Priority Queue
Chapter 14: Hash
Chapter 15: Set
Chapter 16: Map
Appendix A: Pseudocode
Appendix B: UML Class Diagram
Appendix C: Operator Overloading
Appendix D: Template
Appendix E: Iterator
Appendix F: Nested Class
Appendix G: Namespace
Appendix H: Recursion
Appendix I: Allocator
Appendix J: Algorithmic Efficiency
Appendix K: Glossary
Index
James N
Helfrich
James Helfrich received his Bachelor’s Degree and Master’s Degree from the University of Pennsylvania, and his PhD from Idaho State University. After working as a Software Developer and Program Manager at the Microsoft Corporation for 11 years on the Office family of product, he began teaching Software Engineering at Brigham Young University - Idaho. Dr. Helfrich has taught thousands of students and prepared them for high paying software development jobs. Dr. Helfrich has written numerous scholarly articles on a variety of topics and has published four textbooks.