# 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.