- Array List
- Binary Search Tree
- Doubly Linked List
- Heap
- Stack
- Trie
- Bubble Sort
- Heap Sort
- Insertion Sort
- Merge Sort
- Merge Sort (Using Linked List)
- Quick Sort
- Selection Sort
- Radix Sort
- Shell Sort
- Prim's Algorithm
- Kruskal's Algorithm
- Dijkstra's Algorithm - Single Source
- Bellman Ford Algorithm - All Pairs
- Floyd Warshall Algorithm - All Pairs
- Johnson's Algorithm - All Pairs
- Papadamitriou's Algorithm (Randomized Algorithm)
- Kosaraju's Algorithm
- Greedy Heuristic
- Dynamic Programming
- Knapsack Algorithm (Using Recursion And Memoization - For Big Knapsacks)
- Knapsack Algorithm (Using Iterative Approach - For Small Knapsacks)
- Longest Common Subsequence Algorithm
- Longest Common Substring Algorithm
- Maximum Weight Independent Set Algorithm