Skip to main content

Implementation of Data Structures

Learn how to write correct and efficient data structures manipulation using existing standard template library (STL) of C++. Get introduced to the power of STL and make your code more solid, reusable, and robust.

About This Course

In this Computer Science course, you will learn about implementation of all major abstract data structures using object-oriented programming paradigm of C++. This course builds on the basic concepts developed in ‘Foundations of Data Structures’ course.

Topics Covered
  • Review of OO programming, STL of C++
  • Stacks
  • Queues
  • Lists
  • Trees
  • Graphs

What you'll learn

  • Complex data structures
  • How to implement data structures using object-oriented paradigm
  • How to map abstract data types to Standard Template Library of C++


Concepts as covered in Object-Oriented Programming course and Foundations of Data Structures course.

Course Staff

Course Staff Image #1

Ajit Diwan

Prof Ajit A Diwan received his BTech from IIT Bombay, and PhD from TIFR Bombay. He is a Professor of Computer Science and Engineering at IIT Bombay since 1988. His broad research interests are Graph theory, Combinatorics, and Algorithms. He teaches courses like Design and Analysis of Algorithms, Algorithms and Complexity, Discrete Structures, Operations Research, etc.. He has made substantial research contributions in his favorite area of graph theory. He is well known for his unique teaching style which involves discussing a problem, followed by brainstorming sessions and discussion among peers in the class.

Course Staff Image #2

Ganesh Ramakrishnan

Prof. Ganesh Ramakrishnan is an Associate Professor at IIT Bombay. His research interests are Statistical Relational Learning, Information Extraction, Information Mining from Unstructured Resources, Information and Communication Technology for Rural Development, Machine Learning, and Optimization. He has worked extensively in the area of feature induction and relational learning in machine learning, including algorithms and data structures for scaling them up. Apart from these, Ganesh has made significant contributions to Sandhan, an Indian Language search engine; Programmable Machine Translation; Search over entities and relationships; BET, a tool for Inductive Logic Programming that integrates several existing algorithms and induction frameworks (BET stands for Background + Example = Theory).

Besides his contributions in the Department of Computer Science and Engineering, Ganesh works closely with the Centre for Technology Alternatives for Rural Areas. Some of his notable contributions in that area include, voice and video based solutions for information dissemination for farmers and others in the informal sector and technology alternatives for improving supply chain efficiency for farmers and cottage industries. He was awarded the IBM Faculty Award in 2011.

Course Staff Image #1

Deepak B. Phatak

Deepak B Phatak has been working with IIT Bombay since 1971. His main concern is improvement in the quality of education commensurate with the Indian national aspirations, on a larger scale. Towards this end, he has dovetailed the synchronous distance education, which he started 15 years ago at IIT Bombay, into an innovative program for training 10,000 teachers at a time. He believes in developing affordable technological solutions. He headed the national initiative on Aakash tablets. He has been an advisor and IT consultant to organizations and companies, and has worked on many company boards. He has won several distinctions and awards. He has been conferred ‘Padma Shri’ by Government of India.

Course Staff Image #1

Nagesh Karmali

Nagesh Karmali is a Sr. Manager (Research) in the Dept. of CSE at IIT Bombay and heads the Fundamental Research Group. He is associated with IIT Bombay since 2005. His broad research areas are in the field of Parallel Databases, Big Data Analytics, Adaptive Recommendation Systems, Peer Evaluation Systems, etc. His interests also lies in Category Theory, Control Theory, System Dynamics, Music Theory, etc. He has mentored over 70 B Tech, DD, and M Tech theses since 2008. He maintains a wiki for his research projects, which can be accessed at He also likes to travel across villages and learn from the local people.

  1. Course Number

  2. Classes Start

    February 21, 2017- Self-Paced
  3. Classes End

    Dec 12, 2017
  4. Estimated Effort

    8 hours/week