/Data-Structures-and-Algorithms

A repository for MOOC "Data Structures and Algorithms", written in Python

Primary LanguagePython

Data Structures and Algorithms

The repository for MOOC "Data Structures and Algorithms Specialization", written in Python.


Course 1: Algorithmic Toolbox

Week 1: Programming Challenges

Week 2: Algorithmic Warm-up

Week 3: Greedy Algorithms

Week 4: Divide-and-Conquer

Week 5: Dynamic Programming 1

Week 6: Dynamic Programming 2


Course 2: Data Structures

Week 1: Basic Data Structures

Week 2: Dynamic Arrays and Amortized Analysis

Week 3: Priority Queues and Disjoint Sets

Week 4: Hash Tables

Week 5: Binary Search Trees

Week 6: Binary Search Trees 2


Course 3: Algorithms on Graphs

Week 1: Decomposition of Graphs 1

Week 2: Decomposition of Graphs 2

Week 3: Paths in Graphs 1

Week 4: Paths in Graphs 2

Week 5: Minimum Spanning Trees


Course 4: Algorithms on Strings

Week 1: Suffix Trees

Week 2: Burrows-Wheeler Transform and Suffix Arrays

Week 3: Knuth–Morris–Pratt Algorithm

Week 4: Constructing Suffix Arrays and Suffix Trees


Course 5: Advanced Algorithms and Complexity

Week 1: Flows in Networks

Week 2: Linear Programming

Week 3: NP-complete Problems

Week 4: Coping with NP-completeness