This introductory chapter defines what algorithms are, why they matter, and how they relate to other computing technologies. It establishes that algorithms are a fundamental technology—on par with hardware advances—and motivates the study of algorithm design and analysis through practical examples ranging from genomics to cryptography.
Sorting is introduced as the canonical algorithmic problem: given a sequence of numbers, produce a permutation in nondecreasing order. The chapter previews two sorting algorithms:
Insertion sort: Takes time roughly proportional to c₁n² (quadratic).
Merge sort: Takes time roughly proportional to c₂n lg n (linearithmic).
The chapter does not present detailed pseudocode but uses sorting as a running example to illustrate broader themes.
Practical problem domains covered include: shortest paths in graphs (Ch. 24), longest common subsequences via dynamic programming (Ch. 15), topological sorting (Ch. 22), convex hulls (Ch. 33), discrete Fourier transforms / FFT (Ch. 30), linear programming (Ch. 29), and public-key cryptography (Ch. 31).