https://github.com/manuindersekhon/algorithms-specialization-stanford
Solutions for problems sets and algorithms taught in Stanford's Algorithms Specialization at Coursera.
https://github.com/manuindersekhon/algorithms-specialization-stanford
algorithms coursera divide-and-conquer graph-algorithms greedy-algorithms npcomplete rust specialization
Last synced: about 1 month ago
JSON representation
Solutions for problems sets and algorithms taught in Stanford's Algorithms Specialization at Coursera.
- Host: GitHub
- URL: https://github.com/manuindersekhon/algorithms-specialization-stanford
- Owner: manuindersekhon
- License: mit
- Created: 2022-02-06T18:22:46.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-07-09T19:34:20.000Z (almost 4 years ago)
- Last Synced: 2024-03-22T12:29:26.670Z (over 2 years ago)
- Topics: algorithms, coursera, divide-and-conquer, graph-algorithms, greedy-algorithms, npcomplete, rust, specialization
- Language: Rust
- Homepage:
- Size: 46.7 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Stanford's Algorithms Specialization
This repository contains the solutions for problems sets and algorithms taught in [Stanford's Algorithms Specialization](https://www.coursera.org/specializations/algorithms) at Coursera.
Most of the problems sets are written in `Rust` (as a part of learning Rust itself) and some of them are written in `C++` and `Dart`.
### Topics and Design paradigms covered are:
1. [Divide and Conquer, Sorting and Searching, and Randomized Algorithms](https://github.com/ManuSekhon/algorithms-specialization-stanford/tree/main/1.%20Divide%20and%20Conquer%2C%20Sorting%20and%20Searching%2C%20and%20Randomized%20Algorithms)
1. [Graph Search, Shortest Paths, and Data Structures](https://github.com/ManuSekhon/algorithms-specialization-stanford/tree/main/2.%20Graph%20Search%2C%20Shortest%20Paths%2C%20and%20Data%20Structures)
1. [Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming](https://github.com/ManuSekhon/algorithms-specialization-stanford/tree/main/3.%20Greedy%20Algorithms%2C%20Minimum%20Spanning%20Trees%2C%20and%20Dynamic%20Programming)
1. [Shortest Paths Revisited, NP Complete Problems and What to Do about It](https://github.com/ManuSekhon/algorithms-specialization-stanford/tree/main/4.%20Shortest%20Paths%20Revisited%2C%20NP%20Complete%20Problems%20and%20What%20to%20Do%20about%20It)
Specific details are covered in each subfolder.
### Running the files
Problem sets are tested on below versions at the time of writing.
Rust: `rustc 1.60.0 (7737e0b5c 2022-04-04)`
Dart: `2.17.3 (stable)`
C++: `Apple clang version 13.1.6 (clang-1316.0.21.2.5)`
Files can be compiled and run by following the below steps.
```bash
# Rust
$ rustc -C debuginfo=0 -C opt-level=3 filename.rs
$ ./filename
# Dart single file.
$ dart --enable-asserts filename.dart
# Dart project
$ dart run
# C++
$ clang++ -Wall -Werror -Wno-unused-parameter -std=c++17 filename.cpp -o filename
$ ./filename
```
I will try to cover optional problems and later more techniques like linear programming, online algorithms, etc.
***
*Manuinder Sekhon*