Algorithms and Data Structures in C++
- DFS
- BFS
- Topological Sort: Tarjan, Kahn
- Bipartite Check
- All Pairs Shortest Paths (APSP) Floyd-Warshall
- Max Flow Edmonds Karp
- Generating Subsets
- Eight Queens Problem
- Branch and Bound Knapsack
- Maze Backtracking
- Hamiltonian Paths
- K-Colorable Graph
- Exact Set Cover
- Interval Schedule
- Coin change
- Minimum Spanning Tree: Kruskal
- Huffman Coding
- Fractional Knapsack
- Binomial Coefficients
- Knapsack
- Coin Change
- Max subarray sum
- Memoized Matrix Chain Product
- Longest Common Substring
- String Alignment Needleman-Wunsch
- Sieve of Eratosthenes
- Convex Polygon Check
- Sliding window
- String matching
- Matrix Spiral
- Two Pointers
- Intersection
- Matching Parenthesis
- Cycle Detection (Floyd)
- Flood Fill
- Tower of Hanoi
- Fast Power
- Connected Components
- Fisher-Yates shuffle
- Generating permutations
- KD Tree
- Alpha Beta Pruning
- Perceptron
- Dirichlet-Process K-means
- Binary Logistic Regression
- L-BFGS optimization
The notebooks were created using xeus-cling: a Jupyter kernel for C++
To compile the C++ files, run the following command:
g++ <filename.cpp> --std=c++11 -Wall -o test
C++11