Algorithms¶
An algorithm is a finite, unambiguous procedure that transforms valid inputs into outputs satisfying a contract. This section combines implementation with correctness and resource analysis.
Topics¶
- Searching: locate values or boundaries.
- Sorting: establish an order and study trade-offs.
- Design paradigms: reuse problem-solving structures.
- String algorithms: match and index symbol sequences.
- Graph algorithms: traverse relationships, find routes, and optimize networks.
Evaluation checklist¶
For every algorithm, ask:
- What are its input model and preconditions?
- What does it guarantee on return?
- Why does it terminate and produce the correct result?
- What are its best, expected, amortized, and worst-case costs, where relevant?
- Is it stable, in-place, deterministic, online, or adaptive?
- Does an available library implementation provide a stronger contract?