# Algorithm - [[ai|AI]] are bad at identifying the relationship between objects. Algorithms are needed. > "They have many candidate solutions, the overwhelming majority of which do not > solve the problem at hand" -- CLRS ## Correctness - The _initialization_, _maintenance_, and _termination_ of _loop invariant_. ## Design - Incremental ([[insertion-sort]]) - [[divide-and-conquer]] ## Analysis - Why worst case? - Guaranteed upper bound - Worst cases may arise frequently - Average case is often roughly as bad as the worst case ## Concepts - Recurrence relationships (CLRS 1, 2, 3) - [[data-structure]] - [[np-complete]] -