Data representation and storage in elementary data structures like arrays and linked lists (both singly linked lists and doubly linked lists). Abstract Data Types (ADT): Stack, Queue, Priority Queue. Comparative analysis of different implementations of ADTs (Array based and linked list based). Binary Search Tree (including red/black trees), Heap, Efficient Priority Queue (Heap based). Complexity analysis of dictionary operations (insertion/deletion/search) on ADTs. Use of data structures in the design and implementation of smart searching and sorting algorithms (Binary search, Heap sort). Graphs (Connectivity graph, Directed and Undirected graph).