This book covers the core data structures that form the foundation of efficient problem solving in computer science. You work through arrays, vectors, linked lists, stacks, queues, deques, sets, maps, trees, graphs, and hash tables, learning not just how each structure works, but when and why it should be used. Throughout the book, emphasis is placed on understanding data organization, memory behavior, and performance tradeoffs so you can reason about time and space complexity and make informed design decisions.

In addition to data structures, the book explores recursion and advanced algorithms that build on these foundations. You learn how recursive solutions rely on the call stack, how to identify base and recursive cases, and how recursion appears naturally in structures like trees and graphs. The later sections connect these ideas to searching, sorting, graph traversal, and algorithm analysis, helping you see how data structures and algorithms work together to solve complex, real-world problems efficiently and confidently.


Example Curriculum

  Course Introduction
Available in days
days after you enroll
  Module 1 - C++ Review
Available in days
days after you enroll
  Review Lab Assignments
Available in days
days after you enroll
  Module 2 - Classes and Objects
Available in days
days after you enroll
  Labs - Classes and Objects
Available in days
days after you enroll
  Module 3 - Pointers and Memory Management
Available in days
days after you enroll
  Labs - Pointers
Available in days
days after you enroll
  Module 4 - Inheritance and Polymorphism
Available in days
days after you enroll
  Labs - Inheritance and Polymorphism
Available in days
days after you enroll
  Module 5 - Templates
Available in days
days after you enroll
  Labs - Templates
Available in days
days after you enroll
  Module 6 - STL Containers
Available in days
days after you enroll
  Labs - STL Containers
Available in days
days after you enroll
  Module 7 - Algorithm Analysis and Searching
Available in days
days after you enroll
  Labs - Algorithm Analysis and Searching
Available in days
days after you enroll
  Module 8 - Sorting Algorithms
Available in days
days after you enroll
  Labs - Sorting Algorithms
Available in days
days after you enroll
  Module 9 - Lists and Linked Lists
Available in days
days after you enroll
  Labs - Lists and Linked Lists
Available in days
days after you enroll
  Module 10 - Stacks and Queues
Available in days
days after you enroll
  Labs - Stacks and Queues
Available in days
days after you enroll
  Module 11 - Recursion
Available in days
days after you enroll
  Labs - Recursion
Available in days
days after you enroll
  Module 12 - Sets
Available in days
days after you enroll
  Labs - Sets
Available in days
days after you enroll
  Module 13 - Trees
Available in days
days after you enroll
  Labs - Trees
Available in days
days after you enroll
  Module 14 - Graphs
Available in days
days after you enroll
  Labs - Graphs
Available in days
days after you enroll
  Module 15 - Hash Tables
Available in days
days after you enroll
  Labs - Hash Tables
Available in days
days after you enroll
  Module 16 - Advanced Algorithms
Available in days
days after you enroll

This course is closed for enrollment.