Skip to content

fufylev/algorithms_and_data_structures

Repository files navigation

Records of all algorithms I've written throughout the MicroMasters® Program in Algorithms and Data Structures

This program is provided by University of California San Diego via edX.


UCSanDiegoX's Algorithms and Data Structures MicroMasters® Program:

1. Algorithmic Design and Techniques (finished) - Certificate

2. Data Structures Fundamentals (in progress)

3. Graph Algorithms

4. NP-Complete Problems

5. String Processing and Pattern Matching Algorithms

6. Dynamic Programming: Applications In Machine Learning and Genomics

7. Graph Algorithms in Genome Sequencing

8. Algorithms and Data Structures Capstone

=> Certificate


What I will learn:

Understand essential algorithmic techniques and apply them to solve algorithmic problems Implement programs that work in less than one second even on massive datasets Test and debug your code even without knowing the input on which it fails Formulate real life computational problems as rigorous algorithmic problems Prove correctness of an algorithm and analyze its running time

Program Overview

This MicroMasters program is a mix of theory and practice: you will learn algorithmic techniques for solving various computational problems through implementing over one hundred algorithmic coding problems in a programming language of your choice.

No other online course in Algorithms even comes close to offering you a wealth of programming challenges that you may face at your next job interview. To prepare you, we have invested thousands of hours designing challenges as an alternative to multiple choice questions that you usually find in MOOCs. We believe in learning through application, especially when it comes to learning algorithms.

For each algorithm you develop and implement, we have designed multiple tests to check its correctness and running time — you will have to debug your programs without even knowing what these tests are! It may sound difficult, but we believe it is the only way to truly understand how the algorithms work and to master the art of programming.


All algorithms are being written in Python 3 as I am most familiar with Python among other languages proposed by University of California San Diego.

All functions which names ends with the word "_naive" are given by course materials as a starter algorithm for the problem's solution - usually works but too slow


License

MIT. Copyright (c) ANDREI FUFYLEV.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages