Sunday, January 16, 2011

Introduction to Algorithms (MIT)


Slides of introduction to algorithms                                                                                   

0:00Introduction to Algorithms - Lecture 1
1:22Course information
17:18Analysis of algorithms
21:59Why study algorithms and performance?
27:39The problem of sorting
29:20Insertion sort (1)
32:24Insertion sort (2)
34:27Example of insertion sort (1)
34:39Example of insertion sort (2)
34:48Example of insertion sort (3)
34:53Example of insertion sort (4)
34:57Example of insertion sort (5)
35:06Example of insertion sort (6)
35:11Example of insertion sort (7)
35:20Example of insertion sort (8)
35:23Example of insertion sort (9)
35:28Example of insertion sort (10)
35:32Example of insertion sort (11)
36:17Running time
39:28Kinds of analyses
46:49Machine-independent time
50:32Θ-notation
54:45Asymptotic performance
57:00Insertion sort analysis
63:35Merge sort
65:24Merging two sorted arrays (1)
66:18Merging two sorted arrays (2)
66:31Merging two sorted arrays (3)
66:39Merging two sorted arrays (4)
66:42Merging two sorted arrays (5)
66:46Merging two sorted arrays (6)
66:49Merging two sorted arrays (7)
66:51Merging two sorted arrays (8)
67:13Merging two sorted arrays (9)
67:16Merging two sorted arrays (10)
68:20Analyzing merge sort
70:48Recurrence for merge sort
72:54Recursion tree (1)
73:39Recursion tree (2)
73:49Recursion tree (3)
74:18Recursion tree (4)
74:50Recursion tree (5)
75:02Recursion tree (6)
76:16Recursion tree (7)
76:33Recursion tree (8)
76:41Recursion tree (9)
76:49Recursion tree (10)
78:12Recursion tree (11)
79:19Conclusions



  • Video lectures: 6.064J/18.410J (MIT)


  • Course homepage
    This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.



  • No comments: