course outline

Introduction to Algorithms Massachusetts Institute of Technology Professors Shafi Goldwasser and Silvio Micali Septembe...

1 downloads 153 Views 14KB Size
Introduction to Algorithms Massachusetts Institute of Technology Professors Shafi Goldwasser and Silvio Micali

September 3, 2003 6.046J/18.410J Handout 2

Course Outline September Wed

3

Lecture 1 Administrivia. Introduction: analysis of algorithms, insertion sort. Reading: Chapter 1, 2.1, 2.2.

Reg. out. Reg. due 4:30pm

Fri

5

Recitation 1 Correctness of algorithms. Reading: Kingston chapter.

PS 1 out.

Mon

8

Lecture 2 Asymptotic notation. Recurrences: substitution, iteration, master method. Reading: Chapters 3–4, excluding Section 4.4.

Wed

10

Lecture 3 Divide and conquer: merge sort, Strassen’s algorithm, polynomial and integer multiplication. Reading: 2.3. 28.2, and 30.1

Fri

12

Recitation 2 Recurrences, Divide and conquer examples.

Mon

15

Lecture 4 Randomized algorithms: quicksort. Reading: 5.1-5.3; Chapter 7.

Wed

17

Lecture 5 Sorting Lower Bounds, Linear time sorting, counting sort, radix sort. Reading: Sections 8.1-8.3

Fri

19

Recitation 3 Sorting: heapsort, priority queues, dynamic sets. Reading: Chapter 6

Mon

22

Student Holiday–No class

Wed

24

Lecture 6 Median and order statistics Reading: Chapter 9

Fri

26

Recitation 4 Bucket Sort; Applications of median.

Mon

29

Lecture 7 Hashing Reading: 11.1-11.3

October

PS 1 due. PS 2 out.

PS 2 due. PS 3 out.

Handout 2: Course Outline

2

Wed

1

Lecture 8 Binary search trees, tree walks, relation to quicksort. Reading: Sections 12.1–12.3

Fri

3

Recitation 5 Quiz 1 Review. ADD DATE.

Mon

6

Lecture 9 Balanced search trees: AVL, Red-Black Trees. Reading: Chapter 18.1–18.2

Wed

8

QUIZ 1: in-class test.

Fri

10

Recitation 6 Additional balanced search trees. Reading: Chapter 13.

Mon

13

Columbus Day–No class

Wed

15

Lecture 10 Augmenting data structures: dynamic order statistics, interval trees. Reading: Chapter 14.

Fri

17

Recitation 7 Examples of augmentation. Reading: Chapter 14.

Mon

20

Lecture 11 Greedy algorithms: minimum-spanning trees, Prim’s and Kruskal’s algorithms. Reading: Sections 16.1–16.3, Chapter 23.

Wed

22

Lecture 12 Dynamic programming: optimal binary search trees, longest common subsequence. Reading: Chapter 15.

Fri

24

Recitation 8 Examples of greedy algorithms and dynamic programming.

Mon

27

Lecture 13 Amortized analysis: table doubling, potential method. Reading: Chapter 17.

Wed

29

Lecture 14 Graph algorithms: depth-first search, topological sort, strongly-connected components. Reading: Sections 22.3–5.

Fri

31

Recitation 9 Competitive Analysis, self-organizing lists.

November

PS 3 due.

PS 4 out.

PS 4 due. PS 5 out.

PS 5 due. PS 6 out.

Handout 2: Course Outline

Mon

3

Lecture 15 Graph algorithms: single-source shortest paths, Dijkstra’s algorithm, Bellman-Ford algorithm. Reading: Sections 25.1–3.

Wed

5

Lecture 16 Graph algorithms: all-pairs shortest paths, matrix multiplication, Floyd-Warshall algorithm, difference constraints. Reading: Sections 25.1, 25.2.

Fri

7

Recitation 10 Graph algorithms. Reading: Chapters 23–26

Mon

10

Veterans Day–No class

Wed

12

Lecture 17 Matching algorithms. Reading: Section 26.3.

Fri

14

Recitation 11 Quiz 2 Review. Reading: Section 26.3.

Mon

17

Lecture 18 Network flow: max-flow min-cut, Ford-Fulkerson algorithm, augmenting paths. Reading: Sections 26.1–2.

Wed

19

In class quiz

Fri

21

Recitation 12 Network Flow, Bipartite Matching. Reading:

Mon

24

Lecture 19 Computational Number Theory. Reading: Sections 31.1-31.5.

Wed

26

Lecture 20 Computational Number Theory, RSA, Probabilistic Algorithms, Primality. Reading: Section 31.7,31.8.

Fri

28

Thanksgiving–No class

December Mon

1

Lecture 21 Fast Fourier Transform, Integer Multiplication. Reading: Sections 30.1,30.2.

Wed

3

Lecture 22 Complexity: P vs. NP, efficient verification. Reading: Sections 34.1, 34.2.

3

PS 6 due. PS 7 out.

PS 7 due. PS 8 out.

Handout 2: Course Outline

4

Fri

5

Recitation 13 FFTs and basic NP-completeness notions

Mon

8

Lecture 23 NP-completeness 1, Polynomial time reductions. Reading: Chapter 34.3–34.5.

Wed

10

Lecture 24 NP-Completeness and approximation algorithms. Reading: Chapter 35.1.

Thur

18

FINAL EXAM

PS 8 due. PS 9 out.

9:00–12:00 duPont