Implementation of different data structures (Stacks, Queues, Linked lists, Trees, Priority queues, Binary Search Trees, Heaps {max and min heaps}, Graphs as well as exploring different algorithms (Greedy algorithms, Divide and Conquer, Dynamic Programming)