Lecture 1: Course Overview

Lecture 2: Analysis of Algoritms,asymptotic notation

**January 11**

Continue Lecture 2.

Some notes on growth rates.

**January 16**

Finish Lecture 2 and

Lecture 3: ADT and Java Interfaces

**January 18**

Finish Lecture 3 and

Start
Lecture 4: Dictionaries, Binary Search, Recurrence Equations

**January 23**

Finish Lecture 4

**January 25**

Lecture 5: Hash Tables

**January 30**

Finish Lecture 5

**February 1**

Lecture 6: Trees

**February 6**

Finish lecture 6

**February 9**

Lecture 7: Priority Queues and Heaps

**February 13**

Finish Lecture 7 and

Lecture 8: Binary Search Trees

also
Lecture 9: AVL Trees: definition, properties, insertion.

**February 15**

Finish Lecture 9

**February 27**

In class midterm

**March 1**

Lecture 10: AVL Trees: deletion

**March 6**

Lecture 11: Muli-way trees and (2-4) trees: definition, properties, search, insertion, deletion.

Lecture 12 B trees

**March 7**

Finish lecture 12 and

Lecture 13 Graphs: definitions, notation

**March 13**

Finish lecture 13 and

Lecture 14: Graph Representation, DFS, Applications of DFS

**March 15**

Continue Lecture 14

**March 20**

Finish Lecture 14 and

Lecture 15: BFS

**March 22 **

Lecture 16: Directed Graphs

**March 27 **

Lecture 17: Weighted Graphs, Shortest Paths

**March 29 **

Lecture 18: Minimum Spanning Trees

**April 3 **

Finish Lecture 18 and

Lecture 19: Sorting

**April 5 **

No lecture