Repository containing implementations of various basic algorithms in Python. The implementation of these algorithms are based on the MIT 6.006 class. Additionally, there are implementations of ML/DL-specific algorithms like basic linear regression and Attention in various DSLs like PyTorch or JAX.
- Static Array
- Linked List
- Dynamic Array
- Sorted Array
- Direct-Access Array
- Hash Table
- Balanced Binary Tree (AVL)
- Binary Heap
- Insertion Sort
- Selection Sort
- Merge Sort
- Counting Sort
- Radix Sort
- AVL Sort
- Heap Sort
- Breadth-First Search
- DAG Relaxation
- Depth-First Search
- Topological Sort
- Bellman-Ford
- Dijkstra
- Johnson
- Floyd-Warshall
- Linear Regression
- Logistic Regression
- KNN
- Attention
- FlashAttention
- Numerically-Stable Softmax
- Autograd