MNIT Jaipur Syllabus computer science Data Structures
Introduction to Data structures.
Arrays: Representation – row-major, column-major, sparse matrix –implementation, addition,
multiplication; polynomial – Representation, addition, evaluation and multiplication.
Strings: Representation, operations, string matching – Brute force or naïve, Robin-Karp, Knuth-MorrisPratt.
Linked List: Static and dynamic implementation, single, double, circular, multiple linked list.
Stack: Static and dynamic implementation, expression evaluation, prefix (polish), infix, postfix (inverse
polish) expressions, application, multiple stacks, recursion.
Queues: Static and dynamic implementation, applications, circular queue, multiple queue.
Tree: Binary tree, binary search tree, static and dynamic implementation, tree operations – insertion,deletion and search, tree traversal, Binary heaps. Introduction to AVL trees and B trees.
Sorting: Insertion sort, selection sort, Bubble sort, quick sort, merge sort, heap-sort, radix sort (bucket
Searching: Linear and binary search, hashing.
Graph: Representation of graphs, BFS, DFS, topological sort.
1. Aho A.V., J.E. Hop croft, J.D. Ullman, Data Structures and algorithms, Addison Wesley.
2. Kruse R.L., Data Structure and Program Design, PHI.
3. Horowitz and Sahni: Data Structure in C++ , Glagotia
4. Ellis Horowitz, Sartaj Sahni, Fundamentals of Data Structures
5. Aaron M. Tenenbaum, Y. Langsam, Moshe J. Augenstein, Data Structures Using C
6. Niklaus Wirth, Algorithms + Data Structures = Programs (Prentice-Hall Series in Automatic
7. Sartaj Sahni, Data Structures, Algorithms, and Applications in C++
8. Mark Allen Weiss, Data Structures and Algorithm Analysis in C++ (2nd Edition)