Design and Analysis of Algorithms
TTR 3:05- 4:25, IC 109
OFFICE HOURS: Wed 11-12 or by appointment (Rm: Skiles, 116).
TA: James Vanderhyde, jamesv@cc.gatech.edu.
TA OFFICE HOURS: Tues 4:30 - 6, CoC Commons area.
TEXTBOOK: We will mainly follow
Introduction to Algorithms, Cormen, Leiserson, Rivest and Stein.
Week 1 :
General Overview of the Course.
Designing Algorithms: example of Merge Sort (CLR Section 2.3).
Growth of functions, asymptotic notation, Stirlings
formula (CLR, Chapter 3).
Recurrences including the "Master Theorem". (CLR Sections 4.1-4.3).
Week 2:
More Sorting Algorithms -- Heap Sort and Priority Queues
(CLR, Chapter 6).
Quicksort (CLR, Chapter 7).
Week 3:
Analysis of Randomized Quicksort (CLR, Chapter 7),
Randomized Seletion, Worst case Selection in Linear time
(CLR, Chapter 9).
Week 4:
Dynamic Programming and Greedy Algorithms
(CLR, 15.2,15.4,15.5,16.2,16.3).
Weeks 5 and 6:
Mimimum Spanning Tree Algorithms, Shortest Paths
(CLR, 23.1, 23.2, 24.1, 24.2, 24.3, 25.1).
Week 7:
Graph traversal algorithms. Breadth First and Depth First Search. Topological Sorting.
(CLR, 22.1-4).
Midterm
In class mid-term on Thus, Oct 19. Practice Midterm.
Weeks 9-12:
Strassen's Matrix Multiplication Algorithm (CLR, 28.2). Polynomials and FFT (CLR 30.1-30.3).
Number Theoretic Algorithms (CLR 31-1-31.7).
Weeks 13-15:
RSA Cryptosystem (CLR 31.7).
NP-Completeness 34.1 - 34.4.
Finals
Final Exam, Monday, Dec 11, 11.30 AM - 1.30 PM.
Practice Final Exam.
Assignments:
Assignment 1 (due Tues, Sept 12).
Solutions to Assignment 1.
Assignment 2 (due Thus, Sept 28).
Solutions to Assignment 2.
Assignment 3 (due Thus, Oct 12).
Solutions to Assignment 3.
Java code for optimal binary search tree (courtsey James Vanderhyde).
picture of the Huffman code constructed.
Assignment 4 (due Tues, Nov 21).
Solutions to Assignment 4.
Assignment 5 (due Thus, Nov 30).
Solutions to Assignment 5.
Saugata Basu