Item 66/25 - Annexure - 21
Course code Course Title L T P C
BITE201L Data Structures and Algorithms 3 0 0 3
Pre-requisite Syllabus version
1.0
Course Objectives:
1. To impart the basic concepts of data structures and algorithms
2. To derive the time and space complexity of algorithms.
3. To develop understanding about writing algorithms and step by step approach in solving
problems with the help of fundamental data structures.
Course Outcomes:
1. Identify user defined data types, linear data structures for solving real world problems.
2. Analyse and derive time and space complexity for algorithms designed.
3. Illustrate various techniques for searching, sorting and hashing
4. Write modular programs on nonlinear data structures and algorithms for solving
engineering problems efficiently.
5. Design new algorithms or modify existing algorithms for new applications and reason
about the efficiency of the result.
Module:1 Linear Data Structures 7 hours
Operations on Stack - Array implementation of Stack - Applications of Stack -Role of Stack
in Recursion - Towers of Hanoi problem - Operations on Queue - Array implementation of
Queue - Applications of Queue - Types of Queues
Module:2 Linked List 7 hours
Singly Linked List - Doubly Linked List - Circular Singly Linked List - Linked representation of
Stack and Queue - Applications of Linked List
Module:3 Algorithm Analysis 6 hours
The Problem-Solving Aspect - Analysis Framework - Asymptotic Notations - Growth rate of
Functions - Complexity Analysis - Mathematical Analysis of Recursive and Non-Recursive
Algorithms
Module:4 Sorting and Searching 6 hours
Sorting - Bubble Sort, Insertion Sort, Selection Sort, Radix Sort, Merge Sort, Heap Sort,
Shell Sort, Searching - Linear Search, Binary Search - Time Complexity Analysis of Sorting
and Searching Algorithms - Hash Table Methods
Module:5 Non-Linear Data Structures 7 hours
Basic Terminology of General Trees and Binary Trees - Expression Trees - Tree Traversing
– In-order, Pre-order and Post-order Traversals - Construction of Binary Search Tree -
Operations on Binary Search Tree - Height Balanced Trees (AVL) - B-Trees
Module:6 Graphs 7 hours
Basic Definitions - Representations of Directed and Undirected Graphs - Traversals and
Applications of Directed and Undirected Graphs - Single Source Shortest Path Algorithm –
Dijkstra’s Algorithm - Minimum Spanning Trees – Prim’s and Kruskal’s Algorithm.
Module:7 Strategies for Algorithm Design 3 hours
Dynamic Programming - Travelling Salesman Problem, Divide and Conquer - Quick Sort,
Greedy Algorithms - Huffman Coding
Module 8 Contemporary Issues 2 hours
Proceedings of the 66th Academic Council (16.06.2022) 511
Item 66/25 - Annexure - 21
Total Lecture hours: 45 hours
Text Books
1. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, 2019, 4th Edition,
Pearson Education, Delhi.
2. J.P. Tremblay and P.G. Sorenson, “An Introduction to Data Structures with
Applications”, 2017, 2nd Edition, Tata McGraw Hill, New Delhi.
Reference Books
1. Cormen, T.H., Leiserson, C.D., Rivest, R.L. & Stein, C. "Introduction to Algorithms"
2009, 3rd Edition. MIT Press, USA.
2. Seymour Lipschutz “Data Structures with C (Schaum's Outline series)” 2017, 1st Edition,
McGraw Hill Education, India.
Mode of Evaluation: Continuous Assessment Tests, Assignment, Quiz, Final Assessment
Test
Recommended by Board of Studies 20-05-2022
Approved by Academic Council No. 66 Date 16-06-2022
Proceedings of the 66th Academic Council (16.06.2022) 512