Data Structures & Algorithms – Syllabus

Data Structures & Algorithms – Syllabus

Module 1: Introduction to Algorithms & Complexity
What is an algorithm, characteristics of good algorithms, understanding time and space complexity, Big-O, Big-Theta, Big-Omega notations, analyzing best, worst & average cases, complexity examples in real problems.
Module 2: Arrays & Basic Data Structures
Static and dynamic arrays, memory layout, insertion & deletion operations, searching techniques, 2D arrays, strings as arrays, implementation of arrays in C/Java/Python.
Module 3: Linked Lists (All Types)
Singly linked list, doubly linked list, circular linked list, operations (insert, delete, search, update), memory management, applications, comparison with arrays.
Module 4: Stacks & Queues
Stack operations, infix-prefix-postfix conversion, expression evaluation, recursion relationship, queue operations, circular queue, priority queue, deque, real-life applications.
Module 5: Trees & Binary Search Trees (BST)
Tree terminology, tree traversals (inorder, preorder, postorder), BST insertion & deletion, balanced vs unbalanced trees, threaded trees, expression trees, binary heap basics.
Module 6: Advanced Trees & Heaps
AVL trees, Red-Black trees, B-trees, B+ trees, heap implementation, min/max heap operations, heap sort, trie (prefix tree) introduction, practical applications in databases and OS.
Module 7: Graphs & Algorithms
Graph representation (matrix & list), BFS, DFS, shortest path algorithms (Dijkstra, Bellman-Ford), MST algorithms (Kruskal, Prim), topological sorting, graph applications in networking & AI.
Module 8: Searching & Sorting Algorithms
Linear & binary search, bubble sort, selection sort, insertion sort, merge sort, quicksort (Lomuto & Hoare), heap sort, counting sort, radix sort, comparison of sorting complexities.
Module 9: Recursion & Backtracking
Understanding recursion, tail vs non-tail recursion, backtracking concepts, N-Queens, Sudoku solver, subset generation, maze solving algorithms.
Module 10: Dynamic Programming (DP)
DP fundamentals, memoization vs tabulation, common DP problems including knapsack, LIS, LCS, coin change, matrix chain multiplication.
Module 11: Greedy Algorithms
Greedy strategy, activity selection, Huffman coding, fractional knapsack, job sequencing with deadlines, interval scheduling, greedy vs optimal solutions.
Module 12: Hashing & Collision Handling
Hash tables, hash functions, collision resolution (chaining, linear probing, quadratic probing, double hashing), rehashing, real-world uses of hashing (databases, compilers).
Module 13: DSA in Competitive Programming
Fast input/output, modular arithmetic, problem-solving patterns, sliding window, two pointers, prefix-sum, binary search on answer, coding contest tips.
Module 14: Real-World Applications of DSA
DSA for web, mobile, AI, ML, networking, graphics, databases, blockchain, OS scheduling, interview-related applications.
Module 15: Mini Projects & Problem Sets
Implementing all data structures, building a mini search engine, pathfinder using BFS/DFS, scheduling system using heaps, solving 100+ DSA problems.