Алгоритм — это конечная, четко определённая последовательность шагов, которая преобразует входные данные в требуемый результат. Мы оцениваем его по двум критериям: correctness (всегда ли он дает правильный ответ?) и efficiency (сколько времени и памяти он использует?).
Почему это важно
Действительный алгоритм должен быть unambiguous (каждый шаг ясен), finite (завершаться) и производить correct результат для каждого допустимого входа.
