Decision Tree
Decision trees for comparison sorts, and why comparison sorting needs Ω(n log n)
Zürich night over Limmat
Decision trees for comparison sorts, and why comparison sorting needs Ω(n log n)
Stable counting sort in Θ(n+k), with pseudocode and Scala/Python implementations
Randomized quicksort: random pivots to avoid adversarial inputs and worst-case splits
Quicksort partitioning intuition, loop invariants, and best/average/worst-case analysis
Heap sort explained with max-heapify intuition, CLRS notes, and sample implementations
Merge sort via divide-and-conquer, with sentinels, recursion tree analysis, and code