14
Видно, что время, полученное вторым способом, заметно меньше изме-
ренного средствами класса
Stopwatch, что подтверждает факт влияния си-
стемных процессов на результат измерения.
В
ЫВОДЫ
Существует взаимосвязь между способом
представления данных для
решаемой задачи и алгоритмом ее решения. Для представления данных могут
быть использованы различные структуры данных (массивы, списки, деревья
и т. д.) [47]. Если рассматривать эти структуры на
абстрактном уровне, как
АДТ, очевидно, что для всех этих структур существует похожий набор опе-
раций, например, добавление, удаление и поиск элементов. Однако реализа-
ция этих операций может существенно отличаться для разных структур дан-
ных. Более того, даже для одной и той же структуры данных, зачастую, могут
быть предложены разные алгоритмы выполнения операций. В
данной главе
это было продемонстрировано на примере операций
сортировки и поиска в
массивах.
Наличие нескольких алгоритмов решения одной и той же задачи ставит
вопрос о выборе лучшего из них. Наиболее часто
используемым критерием
выбора является скорость роста алгоритма – зависимость
среднего времени
его выполнения от размерности задачи, в качестве которой обычно выступает
число элементов в обрабатываемой структуре данных (например, размер мас-
сива). Для обозначения скорости роста алгоритма используется так называе-
мая
O-нотация. Большинство практически значимых алгоритмов имеют ско-
рость роста не выше
O(N
k
) с небольшим значением
k.
Существует возможность экспериментальной
проверки закона скоро-
сти роста алгоритма. Для этой цели можно использовать .
Net-классы
Stop-
watch
и
Process.
Do'stlaringiz bilan baham: