BX4001 Data Structures and Algorithms Syllabus:

BX4001 Data Structures and Algorithms Syllabus – Anna University PG Syllabus Regulation 2021

OBJECTIVES:

 Be familiar with basic techniques of algorithm analysis.
 Be exposed to the concept of ADTs.
 Learn linear data structures-List, Stack and Queue.
 Learn nonlinear data structures-Tree and Graphs.
 Be exposed to sorting, searching and hashing algorithms

UNIT I INTRODUCTION

Introduction – Abstract Data Types (ADT) – Arrays and its representation –Structures – Fundamentals of algorithmic problem solving – Important problem types – Fundamentals of the analysis of algorithm – analysis framework – Asymptotic notations, Properties, Recurrence Relation.
Lab Experiments:
1. Develop a program to perform various array operations
2. Write a program to find running time complexity by considering each statement in the program for a given set of numbers.

UNIT II LINEAR DATA STRUCTURES – STACK, QUEUE

Stack ADT – Operations on Stack – Applications of stack – Infix to postfix conversion – evaluation of expression – Queue ADT – Operations on Queue – Circular Queue – Applications of Queue.
Lab Experiments:
1. Write a program to convert infix to postfix using stack data structure
2. Develop a program to perform circular queue operations

UNIT III LINEAR DATA STRUCTURES – LIST

List ADT – Array-based Implementation – Linked list implementation – Singly Linked Lists – Circularly linked lists – Doubly Linked Lists – Applications of linked list – Polynomial Addition.
Lab Experiments:
1. Perform Polynomial Manipulation using Single Linked List.
2. Implement the various operations in double linked list.

UNIT IV SEARCHING, SORTING AND HASH TECHNIQUES

Searching: Linear search – Binary Search- comparison of linear search and binary search, Sorting algorithms: Insertion sort – Bubble sort – selection sort – Hashing: Hash Functions – Separate Chaining – Open Addressing – Rehashing.
Lab Experiments:
1. Write a program to perform binary search
2. Write a program to sort a given set of numbers and compare among Bubble Sort, Selection Sort and Insertion Sort with respect to computational complexity.

UNIT V NON LINEAR DATA STRUCTURES – TREES AND GRAPHS

Trees and its representation – left child right sibling data structures for general trees- Binary Tree – Binary tree traversals –- Binary Search Tree – Graphs and its representation – Graph Traversals – Depth-first traversal – breadth-first traversal-Application of graphs.
Lab Experiments:
1. Write a program to delete a node from a given Binary search tree
2. Write a program to perform Graph Traversals

TOTAL : 75 PERIODS

COURSE OUTCOMES:

Upon Completion of the course, the students will be able to
 analyze algorithms and determines their time complexity.
 understand the concepts of data types, data structures and linear structures
 apply data structures to solve various problems
 apply different Sorting, Searching and Hashing algorithms.
 understand non-linear data structures

REFERENCES

1. Anany Levitin “Introduction to the Design and Analysis of Algorithms” 3rd Edition, Pearson Education
2. A.K. Sharma, “Data Structures using C”, 2nd Edition, Pearson Education Asia, 2013
3. E. Horowitz, Anderson-Freed and S.Sahni, “Fundamentals of Data structures in C”, 2nd Edition, University Press, 2007
4. E.Balagursamy,” Data Structures using C”, Tata McGraw Hill 2015 Reprint
5. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C”, 2nd Edition, Pearson Education, India, 2016
6. Jean Paul Tremblay and Paul G. Sorensen, “An Introduction to Data Structures with Applications”, 2nd Edition, Tata McGraw Hill, New Delhi, 2017.