1. Algorithm

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

Search Algorithms

Binary Search

Logarithmic search on sorted data

O(log n)Sorted

Depth-First Search

Graph traversal using stack

GraphStackO(V+E)

Dynamic Programming

Fibonacci & Memoization

From naive recursion to bottom-up DP

MemoizationBottom-up

LeetCode Walkthroughs

Two Sum (LeetCode #1)

Indices that sum to target — one-pass hash map walkthrough

Hash MapO(n)LeetCode #1