InfoCoBuild

Algorithms

Algorithms (ArsDigita University). Taught by Shai Simonson, this course discusses the design and analysis of algorithms. The design of algorithms is studied, according to methodology and application. Methodologies include: divide and conquer, dynamic programming, and greedy strategies. Applications involve: sorting, ordering and searching, graph algorithms, geometric algorithms, mathematical (number theory, algebra and linear algebra) algorithms, and string matching algorithms. Analysis of algorithms is studied - worst case, average case, and amortized - with an emphasis on the close connection between the time complexity of an algorithm and the underlying data structures. NP-Completeness theory is examined along with methods of coping with intractability, such as approximation and probabilistic algorithms. (from ADUni.org)

Lecture 01 - Algorithms - Overview
Lecture 02 - Sorting
Lecture 03 - Sorting II
Lecture 04 - Searching and Data Structures
Lecture 05 - Red-Black Trees
Lecture 06 - Graph Algorithms I: Topological Sorting, Prim's Algorithm
Lecture 07 - Graph Algorithm II: DFS, BFS, Kruskal's Algorithm, Union Find Data Structure
Lecture 08 - Graph Algorithm III: Shortest Path
Lecture 09 - Graph Algorithm IV: Intro to Geometric Algorithms
Lecture 10 - Geometric Algorithms: Graham & Jarvis
Lecture 11 - Dynamic Programming I
Lecture 12 - Dynamic Programming II
Lecture 13 - Parsing
Lecture 14 - Knapsack, Bandwidth Min. Intro - Greedy Algorithms
Lecture 15 - Greedy Algorithms II. Intro to NP Completeness
Lecture 16 - NP Completeness II & Reductions
Lecture 17 - NP Completeness III - More Reductions
Lecture 18 - NP Completeness IV
Lecture 19 - Approximation Algorithms
Lecture 20 - Alternate Models of Computation

References
Algorithms
Instructor: Shai Simonson. Course Description. Lecture and Courseware. Student Evaluations. The design of algorithms is studied, according to methodology and application.