Course Curriculum (w e f Session 2024-25)
B. Tech. Computer Science & Engineering
BCSC 0006/BCSC 0073: Data Structures & Algorithms
Course Objective
The objective of this course is to teach the construction and application of various data structures and abstract data types,
including arrays, strings, lists, stacks, queues, trees, and graphs. The course emphasizes the efficiency of algorithms and
their real-life applications.
Credits: 04. Semester IV L–T–P-J: 3–1–0-0
Teaching
Module
Content Hours
No.
(Approx.)
Introduction to Data Structures and Algorithms
Basic Terminology, Elementary Data Organization, Properties of an Algorithm, Efficiency
of Algorithms: Time Complexity, Space Complexity, Asymptotic Notations: Big-O, Big-
Theta, Big-Omega
Array and String Operations: Traversal, Insertion, Deletion, Concept of multidimensional
Arrays, Strings and Character Arrays, Practical Problems Involving Array and String
Operations. Searching: Linear Search, Binary Search, Sorting: Bubble Sort, Selection Sort,
I 20
Insertion Sort.
Recursion and Backtracking: Recursive Function Structure: Base Case and Recursive
Case. Recursion vs. Iteration, Quick Sort, Merge Sort, General Backtracking Template,
Solving N-Queens Problem.
Linked Lists: Singly Linked List: Implementation and Operations (Insertion, Deletion,
Traversal), Doubly Linked List: Implementation and Operations, Circular Linked List:
Implementation and Operations
Stacks: Stack Operations: Push, Pop, Peek. Array-Based and Linked-List-Based
Implementations, Applications: Infix to Postfix Conversion, Postfix Evaluation
Queues: Operations: Enqueue, Dequeue. Implementations: Array and Linked-List, Circular
Queues and Double-Ended Queues (Deques)
II 20
Trees: Basic Terminologies, Tree Traversal Algorithms: Inorder, Preorder, Postorder,
Binary Search Trees (BST)
Graphs: Basic Terminologies, adjacency matrices, adjacency lists, graph traversal
algorithms, depth-first search & breadth-first search.
Text/Readings:
1. Data Structures and Algorithms in Java" by Robert Lafore.
2. Data Structures and Algorithm Analysis in Java" by Mark Allen Weiss.
Reference Books
1. Horowitz and Sahni, Fundamentals of Data Structures, 3rd Edition, W H Freeman & Co, 2004-05.
2. Jean Paul Trembley and Paul G. Sorenson, An Introduction to Data Structures with Applications, 2nd Edition,
TMH, 2007.
3. R. Kruse, Data Structures and Program Design in C, 2nd Edition, Pearson Education, 2004.
4. Lipschutz Schaum’s Outline Series, Data Structures, 12th Reprint, TMH, 2010.
5. G A V Pai, Data Structures and Algorithms, TMH, 2009.
Course Outcomes (COs)
CO1: Understand fundamental concepts of data structures and algorithms.
CO2: Analyze algorithm efficiency using Big-O, Big-Theta, and Big-Omega notations.
CO3: Implement and perform operations on linear data structures (Stacks, Queues, Linked Lists).
CO4: Apply tree operations, including Binary Search Trees
CO5: Use sorting and graph traversal algorithms in problem-solving.
CO6: Select appropriate data structures for real-life problem-solving.
DEPARTMENT OF COMPUTER ENGINEERING & APPLICATIONS, Institute of Engineering & Technology