Course objectives
- 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
Unit I
- Data structure — definition, need, classification (linear / non-linear, static / dynamic)
- Algorithm efficiency — Big O notation: O(1), O(n), O(log n), O(n²) — concept only C /
- 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.
Introduction and Arrays
Unit II
- Node — data + pointer; why linked list over array
- Singly linked list — insert (head, tail, position), delete, traverse
- Doubly linked list — concept and structure
- C/Python only
- 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).
Linked List
Unit III
- Stack — LIFO; push, pop, peek; implementation using array in C/Python
- Application: balanced parentheses check; function call stack (concept)
- Queue — FIFO; enqueue, dequeue;
- C/Python implementation using array in C/ Python