Algorithms & Complexity: Core Concepts
An algorithm is a finite, well-defined method for solving a class of problems. Complexity guides algorithm selection, system capacity, data-structure choice, optimization priorities, and recognition of problems where exact computation may become impractical.