Богатый опыт разработки и применения алгоритмов подсказывают ряд общих свойств, которые присущи любому алгоритму, в том числе и алгоритмам, перечисленным выше.
1) Дискретность алгоритма: любой алгоритм можно рассматривать как процесс последовательного построения величин, идущий в дискретном времени по определенному предписанию, называемому программой.
2) Массовость алгоритма: алгоритм служит для решения не какой-то одной задачи, а целого класса однотипных задач. В этом аспекте таблица умножения не является алгоритмом, а умножение столбиком многозначных чисел – алгоритм. Например, в алгоритме Евклида числа a и b выбираются из бесконечного (счетного) множества целых чисел.
3) Детерменированность алгоритма: после выполнения очередного этапа однозначно определено, что делать на следующем этапе.
4) Элементарность шагов алгоритма: решение задачи разбивается на этапы, каждый из которых должен быть простым и локальным. Это означает, что соответствующая операция должна быть элементарной для исполнителя алгоритма (человека или машины). Например, встречающиеся в алгоритме Евклида операции сравнения, вычитания и перестановки чисел достаточно стандартны и привычны. В то же время сам алгоритм Евклида может фигурировать в качестве элементарной операции более сложного алгоритма.
5) Результативность алгоритма: алгоритм через конечное число шагов должен привести к остановке, которая свидетельствует о достижении требуемого результата. Так при поиске пути в лабиринте остановка наступает либо на достижимой площадке, либо при возвращении на исходную площадку, если указанная цель не достижима. В частности, всякий, кто предъявляет алгоритм решения некоторой задачи, обязан показать, что алгоритм останавливается после конечного числа шагов (как говорят, сходится) для любого x из области задания f. Однако проверить результативность (сходимость алгоритма) гораздо труднее, чем другие его свойства.