Алгоритм — это последовательность шагов для решения задачи. Структура данных — способ хранить данные так, чтобы с ними было удобно работать. Их пара определяет, насколько быстро и экономно работает программа.
Этот курс не про зубрёжку: цель — понять идеи и научиться оценивать, какой подход быстрее. Готовые сортировки и поиск давно встроены в языки, но понимание их устройства отличает джуниора от инженера и постоянно проверяется на собеседованиях.
Примеры даны на псевдокоде и JavaScript, но идеи универсальны для любого языка. Полезно повторять алгоритмы руками на бумаге, проигрывая их на маленьком массиве — так они укладываются в голове прочнее всего.