This repository contains the solutions for problems sets and algorithms taught in Stanford's Algorithms Specialization 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
.
- Divide and Conquer, Sorting and Searching, and Randomized Algorithms
- Graph Search, Shortest Paths, and Data Structures
- Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming
- Shortest Paths Revisited, NP Complete Problems and What to Do about It
Specific details are covered in each subfolder.
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.
# 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