# MNIT Jaipur Syllabus computer science  Data Structures

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

sort).

Searching: Linear and binary search, hashing.

Graph: Representation of graphs, BFS, DFS, topological sort.

Text/References:

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

Computation)

7. Sartaj Sahni, Data Structures, Algorithms, and Applications in C++

8. Mark Allen Weiss, Data Structures and Algorithm Analysis in C++ (2nd Edition)