Sunday, Februray 15, 2009 (27 Bahman 1387):
We speak about what the name of the course means and what we are going to study in this semester.
Sunday, Februray 22, 2009 (4 Esfand 1387):
Firstly I want to thank
Prof. Kevin Yi for his benevolence.
e shared his slides, which are very well prepared with LateX Beamer, with me and You! But about this lecture: we speak about the Analysis of algorithms
and introduce asymptotic notations. We also speak some other introductory issues related to algorithm design and analysis.
Download the slides.
Sunday, March 01, 2009 (11 Esfand 1387):
We start speaking about first paradigm for algorithm design.
Divide and conquer is a recursive approach for solving problems. The first problem we solve using D&C is Maximum Contiguous Subarray.
Download the slides.
Sunday, March 08, 2009 (18 Esfand 1387):
We continue the previous lecture and discuss Master Theorem.
Tuesday, March 10, 2009 (20 Esfand 1387):
We start our second example on D&C which is Polynomial Multiplication Problem. We also talk about general method
for solving recurrense relations and continue our discussion on Master Theorem.
The slides are posted here.
Spring Breaks. Happy Nowrooz!
Sunday, April 05, 2009 (16 Farvardin 1388):
Sunday, April 12, 2009 (23 Farvardin 1388):
We start our discussion on randomized algorithms. We see two randomized algorism:
Randomized Selection and Randomized Quicksort. We also learn what expected running
time means and analyze the expected running time for Randomized Selection and
Randomized Quicksort.
The slides for this session are posted here.
Tuesday, April 14, 2009 (25 Farvardin 1388):
We finish our discussion on randomized algorithms.
Sunday, April 19, 2009 (30 Farvardin 1388):
We start discussion on dynamic programming. First we examine the notion behind dynamic
programming using an easy example (Fibonacci Series), and next we study a more complicated
example (0-1 Knapsack).
The slides for this session are posted here.
Sunday, April 26, 2009 (6 OrdiBehesht 1388):
We continue our discussion on dynamic programming. We start discussion on Chain Matrix
Multiplication.
The slides for this session are posted here.
Tuesday, April 28, 2009 (8 OrdiBehesht 1388):
We finish our discussion on Chain Matrix Multiplication.
Sunday, May 03, 2009 (13 OrdiBehesht 1388):
We introduce Backtracking and see the general templates one can use to solve problems using this method.
We use backtracking to solve 0-1 Knapsack problem, and Hamiltonian Cycle problem.
The slides for this session are posted here.
Sunday, May 10, 2009 (20 OrdiBehesht 1388):
We continue our discussion on Backtracking and inspect two more example problems. First we see Traveling Salesman Problem
and then we discuss n-Queens Problem.
This file
includes 5 more Dynamic Programming example problems which you should learn them too. I only examine this problem
briefly in case you have any question, and we are not going to study them in class. Please consult the textbook in case
you need more explanation on these problems.
Tuesday, May 12, 2009 (22 OrdiBehesht 1388):
The slides for this session are posted here.
Sunday, May 17, 2009 (27 OrdiBehesht 1388):
The slides for this session are posted here.
Sunday, May 24, 2009 (03 Khordad 1388):
The slides for this session are posted here.
Tuesday, May 26, 2009 (05 Khordad 1388):
We Start discussing on Graph Algorithms.
The slides for this session are posted here.
Sunday, May 31, 2009 (10 Khordad 1388):
We examine Prim's MST algorithm in this session.
The slides for this session are posted here.
Sunday, June 07, 2009 (17 Khordad 1388):
The slides for this session are posted here.
Tuesday, June 09, 2009 (19 Khordad 1388):
The slides for this session are posted here.