Разница между формальным и эмпирическим подходом к изучению алгоритмов заключается в используемых методах и целях исследования:
- Формальный подход предполагает использование специальных методов математического анализа алгоритмов, целью которого является установление свойств функции сложности изучаемого алгоритма. {7-host} Формальное описание алгоритмов даёт возможность иметь общие инструментарии для сравнения, оценки, преобразования и других действий над ними. {8-host}
- Эмпирический подход заключается в экспериментальном изучении свойств функции сложности путём проведения соответствующих расчётов с использованием специальных методик. {7-host} Например, замеряются временные промежутки или подсчитывается число критических операций или групп операций. {7-host}
У каждого из этих подходов есть свои плюсы и минусы: {7-host}
- Математический анализ позволяет получить результаты, которые носят общий, фундаментальный и строгий характер. {7-host} Однако сам процесс математического анализа заданного алгоритма может быть весьма сложным, он требует непростой техники построения математических доказательств. {7-host}
- Экспериментальный подход применим к намного более широкому кругу алгоритмов, однако получаемые результаты не имеют такого уровня общности и строгости, как в случае математического анализа. {7-host} В качестве предварительного исследования алгоритма экспериментальный подход вполне уместен и полезен. {7-host}