Скачать презентацию Куценко Илья Михайлович Сравнение разных алгоритмов Скачать презентацию Куценко Илья Михайлович Сравнение разных алгоритмов

02 Анализ алгоритмов.ppt

  • Количество слайдов: 8

Куценко Илья Михайлович Куценко Илья Михайлович

§ Сравнение разных алгоритмов, решающих одну задачу § Оценка скорости исполнения алгоритма § Установка § Сравнение разных алгоритмов, решающих одну задачу § Оценка скорости исполнения алгоритма § Установка значений параметров алгоритма § Как следствие – нахождение оптимального (напр. удовлетворяющего по скорости выполнения, числу операций и объему памяти) алгоритма для решения той или иной задачи.

§ Запускаем алгоритмы одновременно – определяем самый быстрый § Алгоритм А (30 сек) быстрее § Запускаем алгоритмы одновременно – определяем самый быстрый § Алгоритм А (30 сек) быстрее Алгоритма Б (5 мин) в 10 раз Недостатки эмпирического анализа § Ожидание выполнения. Необходимость предварительного расчета времени работы алгоритма перед исполнением. § Природа входных данных. Входные данные: § Реальные § Случайные § Ошибочные

Что необходимо для мат. анализа? § Определить абстрактные операции алгоритма § Число операций § Что необходимо для мат. анализа? § Определить абстрактные операции алгоритма § Число операций § Время выполнения одной операций § Основная задача – определение частоты использования одной или нескольких фундаментальных операций

§ Основной параметр алгоритма – N § От величины N зависит время выполнения алгоритма § Основной параметр алгоритма – N § От величины N зависит время выполнения алгоритма § N – это степень полинома, размер файла про сортировке или поиске и тд. § Задача – выразить ресурсные требования программы (напр t выполнения) от N

Время выполнения Название 1 Постоянное Log N Логарифмическое N Линейное N * Log N Время выполнения Название 1 Постоянное Log N Логарифмическое N Линейное N * Log N N log N N 2 Квадратичное N 3 Кубическое 2 N Экспоненциальное

N lg. N N(lg N)2 N 3/2 N 2 10 3 3 33 110 N lg. N N(lg N)2 N 3/2 N 2 10 3 3 33 110 32 100 7 10 664 4414 10000 1000 10 32 9966 99317 31623 1000000 13 100 132877 1765633 100000000 100000 17 316 1660964 27588016 31622777 1000000 20 1000 19931569 397267426 1000000000000

Секунды Часы/дни/месяцы/годы 102 1. 7 мин 103 2. 8 часа 104 1. 1 дня Секунды Часы/дни/месяцы/годы 102 1. 7 мин 103 2. 8 часа 104 1. 1 дня 105 1. 6 недели 106 3. 8 месяца 107 3. 1 года 108 31 год 109 310 лет 1010 никогда