Use when solving algorithmic problems, optimizing code, or choosing the right data structure for performance.