Динамическое программирование: Оптимизация через перекрытие подзадач
Несмотря на пугающее название (слово «программирование» здесь означает «табличное планирование», а не написание кода), динамическое программирование (ДП) — это один из самых элегантных математических методов оптимизации алгоритмов. Разработанный Ричардом Беллманом в 1950-х годах, этот метод позволяет превратить задачи с экспоненциальной вычислительной сложностью (которые компьютер не решит и за миллион лет) в задачи с полиномиальной сложностью, решаемые за доли секунды.