Математические модели. Классификация порядков роста. Теория алгоритмов. Сортировка выбором презентация

Содержание


Презентации» Информатика» Математические модели. Классификация порядков роста. Теория алгоритмов. Сортировка выбором
Математические моделиМатематические модели для времени выполнения
 Общее время выполнения. Сумма: стоимость каждойСтоимость основных операцийСтоимость основных операций
 Ошибка новичков: неправильная оценка конкатенации строкПример: 1-Sum
 Подсчет количества инструкций, как функции от N.Пример: 2-Sum
 Подсчет количества инструкций, как функции от N.Упрощение вычисленийУпрощение 1: модель стоимости
 Модель стоимости. Использовать некоторые основные операции дляУпрощение 2: тильда-нотация
 Оценить время выполнение (или память), как функцию отУпрощение 2: тильда-нотация
 Оценить время выполнение (или память), как функцию отПример: 2-Sum
 Нижняя оценка. Использовать модель стоимости и тильда-нотацию для упрощениеПример: 3-Sum
 Нижняя оценка. Использовать модель стоимости и тильда-нотацию для упрощениеОценка дискретной суммы
 Как оценить дискретную сумму?
 Средствами дискретной математики.
 ЗаменитьМатематическая модель для времени выполнения
 В принципе, всегда возможно построить точнуюКлассификация порядков ростаОбщая классификация порядков роста
 Малое число функций описывающих порядок роста основныхОбщая классификация порядков ростаПрактическое применение порядков роста
 Нижняя оценка. Нужны линейные или линейно-логарифмические алгоритмы,Бинарный поиск
 Цель. Найти индекс ключа в отсортированном массиве
 Бинарный поиск
Бинарный поиск: реализация
 Впервые бинарный поиск был опубликован в 1946; перваяБинарный поиск: математический анализ
 Предположение. Бинарный поиск использует 1 + lgN2log N алгоритм для 3-Sum
 Алгоритм основанный на сортировке
 Шаг 1:Сравнение программ
 Гипотеза. Основанный на сортировке 3-Sum алгоритм N2log N однозначноТеория алгоритмовТипы анализа
 Лучший случай. Нижняя граница по стоимости
 Определяется самыми «простыми»Типы анализа
 Лучший случай. Нижняя граница по стоимости
 Худший случай. ВерхняяПример: два алгоритма сортировки
 Быстрая сортировка
 Количество сравнений в худшем случае:Сортировка выборомСортировка выбором
 На итерации i найти минимальный оставшийся элемент с индексомСортировка выбором
 Алгоритм. Сканирование идет слева направо
 Элементы слева от стрелкиСортировка выбором: внутренний циклСортировка выбором: реализация на JavaСортировка выбором: математический анализ
 Утверждение. Сортировка выбором использует (N-1) + (N-2)



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Математические модели


Слайд 2
Описание слайда:
Математические модели для времени выполнения Общее время выполнения. Сумма: стоимость каждой операции * частоту, для всех операций Анализ программ нужно производить на определенном наборе операций Стоимость зависит от компьютера и компилятора Частота зависит от алгоритма и входных данных

Слайд 3
Описание слайда:
Стоимость основных операций

Слайд 4
Описание слайда:
Стоимость основных операций Ошибка новичков: неправильная оценка конкатенации строк

Слайд 5
Описание слайда:
Пример: 1-Sum Подсчет количества инструкций, как функции от N.

Слайд 6
Описание слайда:
Пример: 2-Sum Подсчет количества инструкций, как функции от N.

Слайд 7
Описание слайда:
Упрощение вычислений

Слайд 8
Описание слайда:
Упрощение 1: модель стоимости Модель стоимости. Использовать некоторые основные операции для приближенного расчета времени выполнения.

Слайд 9
Описание слайда:
Упрощение 2: тильда-нотация Оценить время выполнение (или память), как функцию от входных данных N Игнорировать младшие члены Когда N велико, младшие члены незначительны Когда N мало, мы не о чем не заботимся

Слайд 10
Описание слайда:
Упрощение 2: тильда-нотация Оценить время выполнение (или память), как функцию от входных данных N Игнорировать младшие члены Когда N велико, младшие члены незначительны Когда N мало, мы не о чем не заботимся

Слайд 11
Описание слайда:
Пример: 2-Sum Нижняя оценка. Использовать модель стоимости и тильда-нотацию для упрощение вычислений

Слайд 12
Описание слайда:
Пример: 3-Sum Нижняя оценка. Использовать модель стоимости и тильда-нотацию для упрощение вычислений

Слайд 13
Описание слайда:
Оценка дискретной суммы Как оценить дискретную сумму? Средствами дискретной математики. Заменить сумму на определенный интеграл и посчитать

Слайд 14
Описание слайда:
Математическая модель для времени выполнения В принципе, всегда возможно построить точную математическую модель. На практике Формула может быть сложной Могут понадобиться дополнительные математические знания Точные модели лучше оставить экспертам

Слайд 15
Описание слайда:
Классификация порядков роста

Слайд 16
Описание слайда:
Общая классификация порядков роста Малое число функций описывающих порядок роста основных алгоритмов 1, log N, N, Nlog N, N2, N3 и 2N

Слайд 17
Описание слайда:
Общая классификация порядков роста

Слайд 18
Описание слайда:
Практическое применение порядков роста Нижняя оценка. Нужны линейные или линейно-логарифмические алгоритмы, чтобы идти в ногу с законом Мура.

Слайд 19
Описание слайда:
Бинарный поиск Цель. Найти индекс ключа в отсортированном массиве Бинарный поиск Ключ меньше — идем влево Ключ больше — идем вправо Равен — возвращаем результат

Слайд 20
Описание слайда:
Бинарный поиск: реализация Впервые бинарный поиск был опубликован в 1946; первая безошибочная реализация в 1962 Ошибка в Java.binarySearch() найдена в 2006

Слайд 21
Описание слайда:
Бинарный поиск: математический анализ Предположение. Бинарный поиск использует 1 + lg N сравнений ключа в отсортированном массиве N T(N) количество сравнений ключа в отсортированном массиве размером <= N T(N) <= T(N / 2) + 1, для N > 1, с T(1) = 1

Слайд 22
Описание слайда:
N2log N алгоритм для 3-Sum Алгоритм основанный на сортировке Шаг 1: Сортировка N чисел Шаг 2: Для каждой пары чисел a[i] и a[j] сделать бинарный поиск для -(a[i] + a[j]) Анализ. Порядок роста N2log N Шаг 1: N2 сортировка вставками Шаг 2: N2log N бинарный поиск

Слайд 23
Описание слайда:
Сравнение программ Гипотеза. Основанный на сортировке 3-Sum алгоритм N2log N однозначно быстрее метода грубой силы N3

Слайд 24
Описание слайда:
Теория алгоритмов

Слайд 25
Описание слайда:
Типы анализа Лучший случай. Нижняя граница по стоимости Определяется самыми «простыми» входными данными Цель для любых входных данных Худший случай. Верхняя граница Определяется «самыми сложными» входными данными Предоставляет гарантии для всех возможных входных данных Средний случай. Ожидаемая стоимость для случайных входных данных Нужна модель для случайных входных данных Предоставляет возможность предсказывать производительность.

Слайд 26
Описание слайда:
Типы анализа Лучший случай. Нижняя граница по стоимости Худший случай. Верхняя граница Средний случай. Ожидаемая стоимость для случайных входных данных Реальные входные данные могут не соответствовать модели Нужно понимать, что может быть на входе, чтобы эффективно обрабатывать данные Подход 1: строить модель для худшего случая Подход 2: строить модель для случайных данных, в зависимости от вероятностных характеристик (если они даны)

Слайд 27
Описание слайда:

Слайд 28
Описание слайда:
Пример: два алгоритма сортировки Быстрая сортировка Количество сравнений в худшем случае: N2 O(N2) Сортировка слиянием Количество сравнений в худшем случае: N logN O(N logN) Известно, что на практике быстрая сортировка в два раза быстрее и использует в два раза меньше памяти, чем сортировка слиянием. Не используйте O для предсказания производительности и сравнения алгоритмов

Слайд 29
Описание слайда:

Слайд 30
Описание слайда:
Сортировка выбором

Слайд 31
Описание слайда:
Сортировка выбором На итерации i найти минимальный оставшийся элемент с индексом min Поменять местами a[i] и a[min] Видео 1

Слайд 32
Описание слайда:
Сортировка выбором Алгоритм. Сканирование идет слева направо Элементы слева от стрелки отсортированы и не меняются Нет элемента справа от стрелки, который был бы меньше элемента слева от стрелки

Слайд 33
Описание слайда:
Сортировка выбором: внутренний цикл

Слайд 34
Описание слайда:
Сортировка выбором: реализация на Java

Слайд 35
Описание слайда:
Сортировка выбором: математический анализ Утверждение. Сортировка выбором использует (N-1) + (N-2) + … + 1 + 0 ~ N2/2 сравнений и N перестановок


Скачать презентацию на тему Математические модели. Классификация порядков роста. Теория алгоритмов. Сортировка выбором можно ниже:

Похожие презентации