Data Structures and Algorithms: Course Content
Abstract Data Types and C++
Imperative Programs
Data Abstraction and Encapsulation
(HSM Ch.1.3)
ADTs and C++ Classes
(HSM Ch.2.1)
Array Based ADTs (Part I)
The Array as an ADT
(HSM Ch.2.2)
The Polynomial ADT
(HSM Ch.2.3)
Algorithms and Performance Analysis
Algorithms
(HSM Ch.1.5)
Performance Analysis
(HSM Ch.1.6)
Array Based ADTs (Part II)
The Sparse Matrix ADT
(HSM Ch.2.4)
Bags, Stacks, and Queues
(HSM Ch.3)
Linked Lists
Linked Lists
(HSM Ch.4.1-4,9)
Linked List Based ADTs
(HSM Ch.4.5-8)
More Linked Lists
(HSM Ch.4.10,12)
Trees
The Tree ADT
(HSM Ch.5.1)
Binary Trees
(HSM Ch.5.2-5)
Introduction to Some Uses (HSM Ch.5.6-8)
Selection Trees and Heaps
Binary Search Trees
Graphs
The Graph ADT
(HSM Ch.6.1)
Graph Algorithms
(HSM Ch.6.2.4, Ch.6.3-4)
Activity Networks
(HSM Ch.6.5)
Hashing
Static Hashing
(HSM Ch.8.2)
Ordered Trees
Selection Trees and Heaps
Search Trees
(HSM Ch.10)