National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : MA5401 : Data Structures and Algorithms { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Kamalesh Acharya

Syllabus

Module 1 :

Arrays - Structures - Pointers - Data structures and its types - Abstract Data Type - Algorithms - Asymptotic notations - Time complexity analysis. Infix to Postfix conversion - Infix to Prefix conversion - Evaluation of Postfix expression - Evaluation of Prefix expression. Stack and queues, Linked list, Circular linked List, Doubly linked list.

Module 2 :

Basic sorting algorithms: : Bubble sort, Insertion sort, Selection sort. Trees, Binary tree, Binary Search Tree, Tree traversals, Height balanced tree, Red-black tree, B-tree. Heap as data structure.

Module 3 :

Greedy algorithms: Coin change problem, activity selection, Minimum Spanning Tree, Single source shortest path, Dijkstra Algorithm, Knapsack problem. Divide and Conquer technique. Merge sort, quick sort. Solving Recurrence relations. Dynamic programming: matrix chain multiplication, all pair shortest path algorithm.

Module 4 :

Graphs: Definition, Basic terminology, Graph algorithms: Warshall algorithm, Depth First Search, Breadth First Search. NP completeness.

Course Objective

1 .

To understand and apply suitable data structures in all possible applications.

2 .

To develop and design algorithms using the data structures concept.

3 .

To analyse the efficiency of algorithms developed.

4 .

4. To develop skills to apply appropriate data structures in problem solving.

Course Outcome

1 .

Understand the basic concepts of data structures and algorithms.

2 .

Derive the efficiency of algorithms.

3 .

Choose appropriate linear and non-linear data structures to develop any application.

4 .

Apply the suitable sorting and searching algorithms in real world applications.

5 .

Create effective solution for challenging real-world problems.

Essential Reading

1 .

Thomas H. Cormen. Charles E. Leiserson. Ronald L. Rivest. Clifford Stein, , Introduction to Algorithms, Cambridge, MA: The MIT Press 2001.

2 .

Debasis Samanta, Classical Data Structures, Paperback, 2nd edition.

Supplementary Reading

1 .

Seymour Lipschutz, Data Structures with C, Tata McGraw Hill 2nd Edition

2 .

Narasimha Karumanchi, , Data Structures and Algorithms Made Easy, Fifth Edition, Career Monk, 2017

Journal and Conferences

1 .

NA