Некоторые подходы к формализации алгоритмов:
- Словесное описание. 12 Используется, если исполнителем является человек. 1 В этом случае на первое место выдвигаются наглядность и понятность. 1
- Графическое описание. 12 Для этого применяются последовательности графических символов, которые связаны между собой и выполняют определённые функции. 1
- Формальное описание с помощью специальных языков. 1 Применяется для алгоритмов, предназначенных для исполнителей-автоматов. 1 Преимущество такого способа — возможность изучения алгоритмов как математических объектов. 1
Некоторые подходы к оптимизации алгоритмов:
- Формализация оптимизирующих преобразований. 3 Она необходима для автоматической трансформации описания алгоритма. 3 Оптимизационный эффект достигается удалением лишних вычислений посредством замены части алгоритма на более эффективную, то есть имеющую меньшую вычислительную сложность. 3
- Оптимизация временной сложности. 5 Для этого используются, например, такие алгоритмические стратегии, как «разделяй и властвуй» и динамическое программирование. 5 «Разделяй и властвуй» разбивает проблемы на более мелкие подпроблемы, а динамическое программирование сохраняет и повторно использует решения пересекающихся подпроблем, сокращая избыточные вычисления. 5
- Оптимизация пространственной сложности. 5 Для этого применяются, например, такие методы, как профилирование и анализ памяти, эффективное распределение памяти, методы сжатия данных и рециркуляция ресурсов. 5