- DSU
- Fenwick Tree
- Segment Tree
- Trie
- String Hashing
- Monotonic Queue
- ModInt
- Sieve
- Segmented Sieve
- Combinatorics
- Sparse Table
- Dinic's Algorithm (Max Flow)
- Basic Sorting
- Heaps and Sorting
- Quick Sort and Order Statistics
- Radix and Counting Sort
- Binary Search and its application for sorted array
- Stack and Queue using arrays and dynamic memory allocation
- Linked lists, Stack and Queue
- Disjoint Sets
- Fibonacci Heap
- Dynamic Programming Part - 01
- Dynamic Programming Part - 02
- Knapsack Problem
- Dynamic Programming on Profiles
- Hash Table
- Advance Hashing
- Segment Tree for add and min
- Segment Tree with lazy propogation
- Fenwick Tree and Sparse Table
- 2D Segment Tree, Fenwick Tree, Sparse Table and Sweep Line Algorithm
- Binary Search Tree
- Treap
- Splay Tree