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