Основные свойства алгоритмов:
1. Результативность. Алгоритм имеет некоторое число входных величин - аргументов. Цель выполнения алгоритма - получение конкретного результата, имеющего вполне определенное отношение к исходным данным.
2. Определенность. Каждый шаг алгоритма для решения должен быть четко и недвусмысленно определен, не должен допускать произвольной трактовки.
3. Массовость. Можно применять один и тот же алгоритм для решения множества однотипных задач, различающихся данными.
4. Дискретность. Алгоритм представлен в виде конечной последовательности шагов: решение задачи алгоритм сводит к решению отдельных более простых задач. Алгоритмы состоят из отдельных команд, которые исполнитель выполняет одну за другой в определенной последовательности. Выполнение этих команд разделено во времени.
5. Эффективность. Алгоритм может быть выполнен не просто за конечное, а за разумно конечное время.
6. Конечность. Алгоритм должен обеспечивать преобразование объекта из начального состояния в конечное за конечное число шагов. Действуя в соответствии с алгоритмом, за конечное число шагов обязательно получается решение задачи. Даже если строится бесконечный, сходящийся к искомому решению процесс, он обрывается на некотором шаге, и полученное значение принимается за приближенное решение рассматриваемой задачи. Точность приближения зависит от числа шагов.
7. Компактность. Это свойство предполагает лаконичность изложения алгоритма. Как только компактность потеряна, алгоритм в значительной мере теряет право на существование.