*Конечность* — количество инструкций в алгоритме конечно и
его выполнение заканчивается за конечное число шагов.
*Элементарность* — каждая инструкция алгоритма должна быть достаточно простой,
чтобы исполнительное устройство могло его выполнить за одно действие.
--
*Дискретность* — каждый шаг алгоритма заканчивается за конечное время до
начала выполнения следующего шага.
*Детерминированность* — каждая инструкция определена однозначно и не допускает
произвольной трактовки. Так же однозначно выбирается следующий шаг алгоритма.
*Универсальность* — алгоритм должен быть применим для произвольных
входных данных из некоторой непустой области определения.
--
*Эффективность* — задача может быть решена несколькими способами за разное время и с разными затратами памяти и ресурсов, и желательно минимизировать эти затраты.
*Корректность* — результат выполнения должен правильным решением поставленной задачи.