Содержание
- 2. Введение Теория сложности вычислений возникла из потребности сравнивать быстродействие алгоритмов (например, алгоритмов поиска и сортировки), чётко
- 3. Сложность мера использования алгоритмом ресурсов времени или пространства. Время выполнения алгоритма определяется количеством тривиальных шагов, необходимых
- 4. Сложность F (n) – функция трудоемкости, определяющая зависимость между входными данными и кол-вом базовых операций (
- 5. Классы оценок сложности множества вычислительных проблем, для решения которых известны алгоритмы, схожие по сложности O(1) –
- 6. Класс P Проблемы, решение которых считается «быстрым», то есть полиноминально зависящим от размера входных данных (например,
- 7. Класс NP Проблемы, для решения которых используются лишь алгоритмы, экспоненциально зависящие от размера входных данных (например,
- 8. Время выполнения алгоритма для небольших n
- 9. Время выполнения алгоритма для больших n
- 10. Алгоритм поиска - алгоритм нахождения заданного значения произвольной функции в некотором наборе значений Виды поиска Линейный
- 11. Линейный (последовательный) поиск - простейший вид поиска заданного элемента на некотором отрезке (множестве), осуществляемый путем последовательного
- 12. Время выполнения Если отрезок имеет длину n, то найти решение с точностью до ε можно за
- 13. Пример реализации алгоритма линейного поиска на языке C++ template int linear_search(const vector & v, const T&
- 14. За: Не требует сортировки значений множества Не требует дополнительного анализа функции. Не требует дополнительной памяти. =>
- 15. Двоичный (бинарный) поиск - поиск заданного элемента на упорядоченном множестве, осуществляемый путем неоднократного деления этого множества
- 16. Описание метода бинарного поиска Упорядоченное по возрастанию множество элементов, необходимо найти элемент с значением, равным 9
- 17. Описание метода бинарного поиска Сравнение элемента-границы с искомым элементом: 9 В левой части повторяем алгоритм до
- 18. Пример реализации алгоритма бинарного поиска на языке C++ template int binary_search(const vector & v, const T&
- 19. Время выполнения Когда функция имеет вещественный аргумент, найти решение с точностью до ε можно за время
- 20. За: Относительная быстрота выполнения поиска (по линейным) Против: Бинарный поиск может применяться только на упорядоченном множестве
- 21. Алгоритм сортировки - алгоритм для упорядочения элементов в списке. В случае, когда элемент списка имеет несколько
- 22. Характеристики алгоритмов сортировки Устойчивость – изменение относительного положения равных элементов Естественность поведения – улучшение работы алгоритма
- 23. Алгоритм сортировки подсчётом алгоритм сортировки массива целых положительных чисел, лежащих в определённом диапазоне. При выполнении этого
- 24. Схема реализации сортировки подсчётом // A[1..n] – входной массив, B[1..n] – выходной, C[1..k] - // вспомогательный,
- 25. Сложность Циклы в строках 1-2 и 6-7 работают за время O(k), Циклы в строках 3-4 и
- 26. За: Устойчивая сортировка: если во входном массиве присутствуют несколько одинаковых чисел, то в выходном массиве они
- 27. Алгоритм сортировки выборкой - неустойчивый алгоритм сортировки, при котором выбирается минимальное значение, производится обмен этого значения
- 28. Иллюстрация выполнения алгоритма сортировки выборкой 1.Начальный массив 2.Минимальный элемент = 12 3. Минимальный элемент = 7
- 29. Пример реализации алгоритма сортировки выборкой на языке C++ template void selection_sort(vector & v) { for (int
- 30. Сложность алгоритма сортировки выборкой На массиве из n элементов имеет время выполнения в худшем, среднем и
- 31. Алгоритм быстрой сортировки алгоритм сортировки списка (множества, массива), основанный на принципе «разделяй и властвуй», самый быстрый
- 32. Алгоритм быстрой сортировки Выбираем в массиве некоторый элемент, который будем называть опорным элементом; Разделяем массив таким
- 33. Сложность алгоритма быстрой сортировки Лучший случай: O (n log n); Промежуточный случай: O (n log n);
- 34. Достоинства: Самый быстродействующий из всех существующих неспециализированных алгоритмов обменной сортировки; Простая реализация; Хорошо сочетается с алгоритмами
- 36. Скачать презентацию