| Date |
Lecture Topics |
Readings |
Notes |
| May 14 |
Introduction
Course Overview
|
Chapter 1 |
Lecture 1
|
| May 16 |
Performance Analysis
Asymptotic Complexity
|
Chapter 2-3 |
Lecture 2
|
| May 18 |
Data Structures Basics
Linear List - ADT and Operations
|
Chapter 5.1-5.2 |
Lecture 3
|
| May 21 |
Linear List - Array Representation
Linear List - Array Implementation
|
Chapter 5.3-5.8 |
Lecture 4
|
| May 23 |
Linear List - Link Representation
Linear List - Link Implementation
|
Chapter 6 |
Lecture 5
|
| May 25 |
NO CLASS - Instructor Gone
|
- |
-
|
| May 28 |
NO CLASS - Memorial Day
|
- |
-
|
| May 30 |
Linear List - Simulated Pointers
Memory Management & Garbage Collection
|
Chapter 7.1-7.6 |
Lecture 6
|
| June 1 |
Arrays - Representation & Implementation
Matrices - Representation & Implementation
|
Chapter 8 |
Lecture 7
|
| June 4 |
Stacks - Applications
Stacks - Implementation
|
Chapter 9 |
Lecture 8
|
| June 6 |
Queues - Applications
Queues - Implementation
|
Chapter 10 |
Lecture 9
|
| June 8 |
Test Review
Review of Material
|
- |
Test Review
|
| June 11 |
Test 1
|
- |
-
|
| June 13 |
Dictionaries
Hashing
LZW Compression
|
Chapter 11 |
Lecture 10
|
| June 15 |
Trees
Binary Trees - Definitions
|
Chapter 12.1-3 |
Lecture 11
|
| June 18 |
Binary Trees - Implementation
Binary Trees - Traversal Methods
|
Chapter 12.4-10 |
Lecture 12
|
| June 20 |
Priority Queues - Definitions
Heap Sort
|
Chapter 13.1-3 |
Lecture 13
|
| June 22 |
Heaps - Implementation
Leftist Trees
|
Chapter 13.4-6 |
Lecture 14
|
| June 25-29 |
NO SCHOOL - Summer Break
|
- |
-
|
| July 2 |
Winner/Loser Trees
Binary Search Trees
|
Chapter 14, 15 |
Lecture 15
|
| July 4 |
NO CLASS - Fourth of July
|
- |
-
|
| July 6 |
Balanced Binary Search Trees
|
Chapter 16 |
Lecture 16
|
| July 9 |
Test 2
|
- |
-
|
| July 11 |
Graphs - Applications
Graphs - Representation
|
Chapter 17.1-7 |
Lecture 17
|
| July 13 |
NO CLASS - Instructor Gone
|
- |
-
|
| July 16 |
Graphs - Search Methods
|
Chapter 17.8-9 |
Lecture 18
|
| July 18 |
Greedy Method - Definitions
|
Chapter 18.1-2 |
Lecture 19
|
| July 20 |
Greedy Method - Applications
|
Chapter 18.3-4 |
Lecture 20
|
| July 23 |
Divide and Conquer - Definition
|
Chapter 19.1-2 |
Lecture 21
|
| July 25 |
Divide and Conquer - Applications
|
Chapter 19.3-4 |
Lecture 22
|
| July 27 |
Dynamic Programming - Definition
|
Chapter 20.1 |
Lecture 23
|
| July 30 |
Dynamic Programming - Applications
|
Chapter 20.2-3 |
Lecture 24
|
| August 1 |
Hard Problems
Backtracking
Branch and Bound
|
Chapter 21-22 |
Lecture 25
|
| August 3 |
Test 3
|
- |
-
|
| August 6-10 |
NO CLASS - Class Cancelled
|
- |
-
|