Data Structures
Total lecture 18
Lecture 1: (11/01/2025)
)Lecture 2:(12/01/2025)
)InsertionSort:
Measure the Run Time
Run Time
Why only leading term matters
Lecture 3:(18/01/2025)
)Merge Sort
Complexity

Recurrence Reaction


Lecture 4:(19/01/2025)
)Hashing
Direct-address Tables (Array)
Hash Tables
Hash function

Chaining

Lecture 5: (25/01/2025)
)Independent Uniform Hashing
Open Addressing
Binary Search Trees (BSTs)
Summary
Lecture 6: (02/02/2025)
)Binary Search Tree
Lecture 7: (08/02/2025)
)Red-Black Trees
Lecture 8: (09/02/2025)
)Lecture 9: (15/02/2025)
)Lecture 9: (16/02/2025)
)Red-Black Tree Deletion
Lecture 10: (22/02/2025)
)Lecture 11: (23/02/2025)
)Lecture 11: (01/03/2025)
)Augmenting Data Structure
Finding the ith element
Finding the Rank of element
Lecture 12: (02/03/2025)
) Data Structure
Core Operations
Implementation
Optimizations (Heuristics)
1. Union by Rank
2. Path Compression
Applications

Lecture 13: (08/03/2025)
)Disjoint As Tree

MAKE-SET
FIND-SET
UNION

Path compression Heuristic
Why We Do It?
Benefit

Lecture 14: (09/03/2025)
)Graph
Lecture 15: (15/03/2025)
)Breadth-first Search, Dijkstra
Lecture 16: (22/03/2025)
)Dijkstra, Flow Networks
Lecture 17: (23/03/2025)
)Flow Networks, Ford-Fulkerson Method
Lecture 18: (29/03/2025)
)Bipartite Maximum Matching
Bipartite Matching
Lecture 19: (30/03/2025)
)Dynamic Programming

Road cutting problem

Lecture 20: (06/03/2025)
)More Dynamic Programming Examples

Lecture 21: (06/03/2025)
)P, NP, and NP-completeness
Search Vs Decision Problem
Complexity Class P

Last updated