Instructor: Partha Sarathi Mandal [TEL: 03612582624, E-mail ID: psm
Department of Mathematics, Indian Institute of Technology Guwahati
Course title: Data Structures [MA251] [2-0-2-6]
Level: B.Tech.(M&C)
Prerequisites: CS101 or equivalent
Semester: Jul'25 - Nov'25
MA252:Lecture Time: Wednesday: 9-9:55, Thursday: 10-10:55
Lab Time: Tuesday: AL1 (14:00 - 16:00)
Class Room: 5G2 (for MA251) and Dept. Lab (for Lab)
TA: Eshwar Srinivasan (E-mail ID: s.eshwar) Saswata Jana (E-mail ID: saswatajana)
Links: Unix Command Dictionary
Contents: Click Here
Exams & Marking: MA251: POP Quizzes/Assignments 30% (Theory + Lab) + Mid semester 30% (Theory + Lab) + End Semester 40% (Theory + Lab)
Texts:
  1. T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms, Prentice-Hall of India, 2009.
  2. E. Horowitz, S. Sahani and D. Mehta, Fundamentals of Data Structures in C++, University Press, 2008.
References:
  1. A. V. Aho, J. E. Hopcroft and J. D. Ullman, Data Structures and Algorithms, Pearson Education, 2006.
  2. A. M. Tannenbaum, Y. Langsam and M. J. Augenstein, Data Structures Using C++, Prentice-Hall of India, 1996.
  3. M. A. Weiss, Data Structures and Problem Solving Using Java, Addison-Wesley, 1997.
Announcement:
  1. First Lecture is on July 23 at 9AM and Lab class is on Aug 28 from 2PM-4PM.
Lecture Notes: ___________________________________________________________________________
Jul 23 Lecture 1 [Tests and marks distribution, Reference Books, Introduction, RAM Model, Estimating running time]
Jul 24 Lecture 2 [The problem of sorting, Insertion sort, Big-Oh notation]
Jul 28 Tutorial 1 (Lab) [Laboratory Policy, Introduction to OOP]
Jul 30 Lecture 3 [Asymptotic Notation]
Jul 31 Lecture 4 [OOP: Dynamic Memory, Function Overloading, Objects & Classes, Access Control, Memory allocation for objects, Reading Assignment]
Aug 04 Tutorial 2 (Lab) [onstructor, Default constructor, Copy constructor, Overloading Constructor, Lab Assignments]
Aug 06 Lecture 5 [Divide-and-conquer paradigm, Merge sort, Solving recurrences, Binary search, Powering a number]
Aug 07 Lecture 6 [Computing Fibonacci numbers, Matrix multiplication, Strassen's algorithm, Stack operations]
Aug 11 Tutorial 3 (Lab) [Pointers to objects, Friendship and Inheritance, Lab Assignments]
Aug 13 Lecture 7 [Use of stack: Infix to Postfix, Evaluation of a Postfix Expression, N-Queen's problem, Exercise, Queue operations, Circular Queue, Priority Queue]
Aug 18 Tutorial 4 (Lab) [Inheritance between classes, Derived classes, Multiple Inheritance, Lab Assignments]
Aug 20 Lecture 8 [Binary Tree, Binary Search Tree, SEARCH, FIND MIMIMUM, MAXIMUM, PREDECESSOR, SUCCESSOR]
Aug 21 Lecture 9 [Binary Search Tree: INSERT and DELETE, Traversal Methods, Expression Tree]
Aug 25 Tutorial 5 (Lab) [Overloading operators, Lab Assignments]