- Array
- Linked List
- Stack
- Queue
- Circular Queue
- Deque
- Tree
- Binary Tree
- Tree Traversal
- Binary Search Tree
- AVL Tree
- Red-Black Tree
- B-tree
- Huffman Tree
- Binary Tree
- Heap
- Trie
- Suffix Tree
- Union-Find
- Hash Table
- Graph
- Adjacency Matrix
- Adjacency List
- DFS
- BFS
- Minimum Spanning Tree
- Prim's algorithm
- Kruskal's algorithm
- Topological sorting
- Maximum Flow
- Edmonds Karp's algorithm
- Maximum Bipartite Matching
- Critical Path
- shortest path between any two vertices
- Dijkstra's algorithm
- shortest path between all the pairs of vertices
- Floyd-Warshall algorithm
- Sorting
- Selection Sort
- Bubble Sort
- Insertion Sort
- Shell Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Counting Sort
- Bucket Sort
- Searching
- Linear Search
- Binary Search
- String-Based Algorithms
- Pattern Matching
- BF Algorithm
- Finite-Automata Algorithm
- KMP Algorithm
- Wildcard Pattern Matching
- Longest Palindromic Substring
- Manacher Algorithm
- Edit Distance
- Pattern Matching
- Greedy
- Change-making Problem
- Fractional Knapsack Problem
- Job Sequencing Problem
- Divide and Conquer
- Closest Pair of Points
- Longest Common Prefix
- Maximum and minimum of an array using minimum number of comparisons
- Convex-Hull Problem
- Dynamic Programming
- 0-1 Knapsack Problem
- Longest Common Substring
- Longest Common Subsequence
- Coin-Row Problem
- Coin-Collecting Problem
- Backtracking
- Rat in a Maze
- The Knight’s Tour Problem
- Subset-Sum Problem
- Hamiltonian-Circuit Problem
- N-Queens Problem
- Travelling Salesman