DSA Study Material (C++) - Unit Wise
Unit 1 - Growth of Functions, Recurrence Relations
--------------------------------------------------
1. Asymptotic Notations: Big-O, Big-Theta, Big-Omega
- Definitions and geometric interpretations
- Common functions: polynomial, exponential, logarithmic
- Comparative growth rates [19L224-L231]
2. Recurrence Relations:
- Substitution Method [20L222-L230]
- Recursion Tree Method [22L274-L282]
- Master Theorem [23L251-L259]
Unit 2 - Arrays, Linked Lists, Stacks, Queues, Deques
-----------------------------------------------------
1. Arrays:
- Static memory allocation [24L201-L210]
- Index-based access
2. Linked Lists:
- Singly and doubly linked lists [25L215-L220]
- Insertion/deletion at various positions
3. Stacks and Queues:
- LIFO (Stack) and FIFO (Queue) concepts [26L203-L211]
- Operations: push, pop, enqueue, dequeue
4. Deques:
- Double-ended queue, insertion/deletion from both ends [32L164-L172]
Unit 3 - Recursion
------------------
1. Recursive Problem Solving:
- Base and recursive cases [34L211-L219]
- Examples: factorial, Fibonacci, power, GCD
- Backtracking (e.g., N-Queens) [35L220-L227]
Unit 4 - Trees, Binary Trees, BSTs, Balanced BSTs
-------------------------------------------------
1. Trees & Binary Trees:
- Definitions, properties, traversal methods [36L233-L241]
2. Binary Search Trees (BSTs):
- Operations: search, insertion, deletion [50L214-L218]
3. Balanced BSTs:
- AVL Trees: rotations, balancing factors [51L301-L309]
- Red-Black Trees (basic understanding)
Unit 5 - Binary Heap
--------------------
1. Heap Properties:
- Min-heap and Max-heap [52L197-L204]
2. Heap Operations:
- Insert, delete, heapify
- Binary heap as array representation [53L210-L218]