Curriculum
Algorithm
Sorting, search, dynamic programming, graph algorithms, LeetCode walkthroughs
Data Structures
Stack
LIFO — push, pop, peek operations
LIFOO(1)
Queue
FIFO — enqueue, dequeue operations
FIFOO(1)
Linked Lists
Singly, doubly, circular lists
DynamicO(n)
Hash Table — Separate Chaining
Each bucket holds a linked chain of colliding keys
Separate ChainingO(1) avg
Hash Table — Linear Probing
Open addressing: probe forward on collision, tombstones for delete
Open AddressingO(1) avg
Binary Search Tree
Ordered tree — insert, search, delete with successor swap
BSTO(log n) avg
Heaps
Min-heap, max-heap, priority queues
PriorityO(log n)
Sorting Algorithms
Bubble Sort
Simple comparison-based sorting
O(n²)StableIn-place
Selection Sort
Find minimum, swap to front
O(n²)In-place
Insertion Sort
Build sorted prefix one element at a time
O(n²)StableAdaptive
Quick Sort
Divide & conquer, pivot selection
O(n log n)Divide & Conquer
Merge Sort
Stable sort with O(n log n)
O(n log n)Stable