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