Electrical Hub

AKTU · EIE · Semester 2

Essentials of Data Structure

ACS201

Syllabus1

Syllabus — Essentials of Data Structure (ACS201)

Official AKTU syllabus, effective from the academic session 2026-27 (AICTE model curriculum / NEP 2020).

Course objectives
1. Understand data structures and why choosing the right one affects program performance 2. Implement linked list and perform basic insert, delete, and traverse operations 3. Implement stack and queue and apply them to simple real-world problems 4. Apply searching and sorting algorithms and compare their efficiency 5. Understand trees and graphs at a conceptual level with real-world connections

Course content
Unit Language Topics Weightage Introduction and Arrays 1. Data structure — definition, need, classification (linear / non-linear, static / dynamic) 2. Algorithm efficiency — Big O notation: O(1), O(n), O(log n), O(n²) — concept only C / 3. Array — insert, delete, search, traverse in Python C/Python 4. 2D array — matrix addition and transpose Real connect:NumPy array (AI/ML), image as 2D matrix, sensor data log as array, spreadsheet rows. Linked List 1. Node — data + pointer; why linked list over array 2. Singly linked list — insert (head, tail, position), delete, traverse 3. Doubly linked list — concept and structure 2. C/Python only 4. Circular linked list — concept only Real connect: Browser back/forward = doubly linked list. Music playlist = circular. Python deque = doubly linked list (used in BFS, LRU cache). Stack and Queue 1. Stack — LIFO; push, pop, peek; implementation using array in C/Python 2. Application: balanced parentheses check; function call stack (concept) 3. Queue — FIFO; enqueue, dequeue; 3. C/Python implementation using array in C/ Python 4. Application: print spooler; task scheduling queue, Polish Notation Real connect: Ctrl+Z = Stack. WhatsApp delivery = Queue. Python error traceback IS a call stack. CPU scheduling = queue. Searching and Sorting 1. Linear search, binary search, comparison 2. Bubble sort and insertion sort, Quick Sort 4. C/Python and Selection Sort — trace + C/ Python 3. Merge sort — concept and trace only 4. Python built-in sort() and sorted() Real connect: Binary search in database index. Python sort() uses Timsort. E-commerce ranking, leaderboard, ML data preprocessing = sorting. Trees and Graphs (Concept Level) 1. Binary tree — terminology (root, leaf, height, level); properties 2. Binary Search Tree — insert, search; inorder/preorder traversal trace 3. Graph — vertex, edge, directed/undirected; Trace + adjacency list representation, insertion 5. Python 4. BFS and DFS — trace on a small graph (5– demo 6 nodes) Real connect: File system = tree. BST in database indexing. Google Maps = weighted graph. Social network = graph. Decision Tree in ML = binary tree. Suggested Assignment / Practice Problems (Unit-wise) but not limited to No Tutorial hour in ACS201. The following problems are assigned as class assignments and self-practice. 2–3 per unit recommended for internal assessment. Unit Trace on Paper Code (C/Python) 1. Trace insertion at index 2 1. Input N numbers; find max, in [10,20,30,40] 2. Trace min, average 2. Count even I Arrays deletion of element 30 from and odd in array 3. Remove [10,20,30,40] 3. What is duplicates from array O(log n)? Give one example 1. Draw linked list after inserting 10, 20, 30 at head II 1. Create linked list; insert at 2. Trace deletion of node 20 Linked head; print 2. Insert node at from [10→20→30→NULL] 3. List tail 3. Delete node by value Difference between singly and doubly linked list 1. Stack using array — push 1. Trace push(5), push(10), III Stack and pop 5 elements 2. Queue pop(), push(15) — what is & using array — enqueue and top? 2. Trace enqueue(A,B), Queue dequeue 3. Balanced dequeue(), enqueue(C) — parentheses checker what is front? 3. Check '({[]})' balanced — show stack trace 1. Binary search for 35 in 1. Linear search and binary IV [10,20,30,35,40,50] — show search — compare 2. Bubble Search& steps 2. Bubble sort trace on sort — count swaps 3. Sort [64,34,25,12] 3. Insertion Python: sort a list ascending sort trace on [5,3,8,1] and descending 1. Draw BST after inserting 1. BST insert and inorder in V Tree 50,30,70,20,40 2. Write python 2. Graph as adjacency & inorder and preorder of list in Python dict 3. BFS Graph above BST 3. BFS from A on: using queue in Python (10–15 A-B, A-C, B-D, C-E lines)