Algorithm Analysis and Design
The main purpose of this course is to provide students with analysis as well as designing techniques of algorithms. Designing techniques include recursive, devide and conqure, greedy, dynamic programming, and back tracking. Also, Exploring algorithms for graphs and trees are included in the topics of this course.
Text Books
1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein (CLRS): Introduction to Algorithms, 3rd edition.
Grading
Midterm = 35%
Final = 50%
Exercises = 20%
Tentative Schedule
Date | Syllabus | Readings | Assignmenets |
---|---|---|---|
Sat, 01 - 07 - 91 |
[No Class] | ||
Sat, 02 - 07 - 91 |
Overview | Class notes Ch 2.2 |
|
Sat, 08 - 07 - 91 |
Complexity analysis (non-recursive algorithms) |
Class notes Ch 2.2 |
|
Sun, 09 - 07 - 91 |
Assymptotic notations | Ch 3.1 Ch 3.2 |
|
Sat, 15 - 07 - 91 |
Recursive algorithms | Class notes | |
Sun, 16 - 07 - 91 |
Solving recursive relations | Class notes | |
Sat, 22 - 07 - 91 |
Complexity analysis for recursive algorithms 1 |
Class notes Ch 4.3 |
|
Sun, 23 - 07 - 91 |
Complexity analysis for recursive algorithms 2 |
Ch 4.4 Ch 4.5 |
HW1 |
Sat, 29 - 07 - 91 |
Divide and conqure methods 1 | Ch 2.3, Ch 12.1, Ch 12.2 | |
Sun, 30 - 07 - 91 |
Divide and conqure methods 2 | Ch 7.1, Ch 7.2, Ch 7.4, Ch 4.1 | |
Sat, 06 - 08 - 91 |
Divide and conqure methods 3 | Ch 4.3, Ch 9 | |
Sun, 07 - 08 - 91 |
Divide and conqure methods 4 | ||
Sat, 13 - 08 - 91 |
[ Holiday ] | ||
Sun, 14 - 08 - 91 |
Greedy algorithms 1 | Ch 16.1, Ch 16.2 , 16.3 | |
Sat, 20 - 08 - 91 |
Greedy algorithms 2 | Ch 23, Ch 24, Ch 25 | |
Sun, 21 - 08 -91 |
Greedy algorithms 3 | ||
Sat, 27 - 08 - 91 |
Dynamic programming 1 | Ch 6.1 | |
Sun, 28 - 08 - 91 |
Dynamic programming 2 | Ch 6.2 | |
Sat, 04 - 09 - 91 |
[ Holiday ] | ||
Sun, 05 - 09 - 91 |
[ Holiday ] | ||
Sat, 11 - 09 - 91 |
Dynamic programming 3 | Ch 7.1 | |
Sun, 12 - 09 - 91 |
Searching algorithms | Ch 7.2 | |
Sat, 18 - 09 - 91 |
Exploring algorithms | Ch 7.3, Ch 7.4 | |
Sun, 19 - 09 - 91 |
Backtracking 1 | Ch 8.1 | |
Sat, 25 - 09 - 91 |
Backtracking 2 | Ch 8.1 Ch 8.2 |
|
Sun, 26 - 09 - 91 |
Midterm Exam | Syllabuses before Sat, 13 - 08 - 91 | |
Sat, 02 - 10 - 91 |
Advanced data structures | Ch 9.2, Ch 9.3 | |
Sun, 03 - 10 - 91 |
NP problems | Ch 11 | |
Sun, 20 - 10 - 91 |
Final Exam | After the midterm | Exam Sample 1 Exam Sample 2 Exam Sample 3 Exam Sample 4  Exam Sample 5 |