Calendar

Week 1Introductions

Mehr 4
Lecture 1 Introductions

Week 2Complexity Analysis I

Mehr 9
Lecture 2 Time complexity analysis: Insertion Sort

Week 3Complexity Analysis II

Mehr 16
Lecture 3 Function growth and Big-O notation
Mehr 18
Lecture 4 Merge Sort

Week 4Divide and Conquer

Mehr 23
Lecture 5 Master Theorem
Mehr 25
Lecture 6 Amortized Analysis

Week 5Data Structures

Mehr 30
Lecture 7 Linked List and Queue
Aban 2
Lecture 8 Stack

Week 6Approximation Algorithms

Aban 7
Lecture 9 Approximate Median
Aban 9
Lecture 10 Tree Implementation and Traversal

Week 7Trees

Aban 14
Lecture 11 Expression Trees
Aban 16
Lecture 12 Trie and Priority Queue

Week 8Statistical Analysis

Aban 21
Lecture 13 Min and Max Calculations
Aban 23
Lecture 14 K-th Element

Week 9Sorting Algorithms

Aban 28
Lecture 15 Quick Sort and Pyramid Sort
Aban 30
Lecture 16 Linear Time Sorts
Azar 2
Midterm Exam 1

Week 10Binary Tree

Azar 5
Lecture 17 Binary Search Tree
Azar 7
Lecture 18 Balanced Binary Tree

Week 11Advanced Data Structures

Azar 12
Lecture 19 Segment Tree and Interval Tree
Azar 14
Lecture 20 Disjoint Set Union

Week 12Hashing

Azar 19
Lecture 21 Local Hashing and Universal Hashing
Azar 21
Lecture 22 Full Hashing

Week 13Graphs I

Azar 28
Lecture 23 Graph Implementation
Azar 30
Midterm Exam 2

Week 14Graphs III

Dey 10
Lecture 26 Topological Sort
Dey 12
Lecture 27 Graph Shortest Paths