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'23 - Nov'23 MA252:Lecture Time: Wednesday: 9-9:55, Thursday: 10-10:55 Lab Time: Tuesday: AL2(14:00 - 16:00) Class Room: 5G4 (for MA251) and Dept. Lab (for Lab) TA: Adri Bhattacharya (E-mail ID: a.bhattacharya) 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:
- T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms, Prentice-Hall of India, 2009.
- E. Horowitz, S. Sahani and D. Mehta, Fundamentals of Data Structures in C++, University Press, 2008.
References:
- A. V. Aho, J. E. Hopcroft and J. D. Ullman, Data Structures and Algorithms, Pearson Education, 2006.
- A. M. Tannenbaum, Y. Langsam and M. J. Augenstein, Data Structures Using C++, Prentice-Hall of India, 1996.
- M. A. Weiss, Data Structures and Problem Solving Using Java, Addison-Wesley, 1997.
Announcement:
- First Lab class is on 1st Aug from 2PM-4PM.
Lecture Notes: ___________________________________________________________________________ Jul 26 Lecture 1 [Tests and marks distribution, Reference Books, Introduction, RAM Model, Estimating running time] Jul 27 Lecture 2 [The problem of sorting, Insertion sort, Big-Oh notation] Aug 01 Tutorial 1 (Lab) [Laboratory Policy, Introduction to OOP] Aug 02 Lecture 3 [Asymptotic Notation] Aug 03 Lecture 4 [Dynamic Memory, Function Overloading, Objects & Classes, Access Control, Memory allocation for objects, Reading Assignment] Aug 08 Tutorial 2 (Lab) [Constructor, Default constructor, Copy constructor, Overloading Constructor Assignments] Aug 09 Lecture 5 [Divide-and-conquer paradigm, Merge sort, Solving recurrences, Binary search, Powering a number] Aug 10 Lecture 6 [Computing Fibonacci numbers, Matrix multiplication, Strassen's algorithm] Aug 16 Lecture 7 [Stack operations, Use of stack: Infix to Postfix, Evaluation of a Postfix Expression, N-Queen's problem] Aug 17 Tutorial 3 (Lab) [Pointers to objects, Friendship and Inheritance, Assignments] Aug 22 Tutorial 4 (Lab) [Inheritance between classes, Derived classes, Multiple Inheritance, Assignments] Aug 23 Lecture 8 [Queue operations, Circular Queue, Priority Queue] Aug 24 Lecture 9 [Binary Tree, Binary Search Tree, SEARCH, FIND MIMIMUM, MAXIMUM, PREDECESSOR, SUCCESSOR] Aug 30 Lecture 10 [Binary Search Tree: INSERT and DELETE] Aug 31 Lecture 11 [Binary Tree Traversal Methods, Expression Tree] Sep 05 Lecture 5 (Lab) [Overloading operators, Assignments] Sep 12 Lecture 6 (Lab) [Polymorphism, Virtual function, Abstract base class, Assignments] Sep 13 Lecture 12 [Construction of Binary Tree and Expression Tree] Sep 14 Lecture 13 [Hashing] Sep 26 Lecture 7 (Lab) [Templates and Namespaces] Sep 27 Lecture 14 [Heap Sort] Oct 03 Lab Oct 04 Lecture 15 [Heap Sort contd., Priority Queues] Oct 05 Lecture 16 [Counting sort - Sorting in linear time, Quicksort] Oct 10 Lab Exam Oct 11 Lecture 17 [Data Structures for Graph representation, Graph Search] Oct 12 Lecture 18 [Breath First Search (BFS)] Oct 17 Lab Oct 18 Lecture 19 [Depth First Search (DFS)] Oct 19 Lecture 20 [AVL Tree] Oct 26 Lecture 21 [2-3 Tree: Creation] Oct 31 Lab Nov 01 Lecture 22 [2-3 Tree: Deletion, B Tree] Nov 02 Lecture 23 [Red-Black Tree]