- Stacks
- Queues
- Heaps
- Arrays
- Linked Lists (Singly,Doubly and Circular)
- Trees
- Binary search trees
- Hash Tables
- Graph Algorithms (DFS, BFS)
- Sorting
- Searching
- Greedy Algorithms
- Dynamic Programming
- Recursion
- Backtracking
- Divide-and-Conquer, Subtract-and-Conquer, Branch and Bound Algorithm techniques.
- Randomized Algorithms
- Red Black Trees, Priority Queues and Advanced Data Structures.
The list is a work in progress...