Содержание
- 2. Сложные данные Данные состоят из нескольких полей: struct element { field x; field y; } Пусть
- 3. Пример
- 6. Характеристики сортировки Вычислительная сложность алгоритма - функция, определяющая зависимость объёма работы, выполняемой некоторым алгоритмом, от размера
- 7. Поиск точной функции, оценивающей временную сложность – трудоемкая задача ОЦЕНКИ ФУНКЦИИ СЛОЖНОСТИ АЛГОРИТМА Θ(g(n)) - если
- 8. O(g(n)) - если ∃ c>0, n0>0 : 0 ≤ f(n) ≤ cg(n),∀ n> n0 Например: f(n)
- 9. О-функция – верхняя асимптотическая оценка трудоемкости алгоритма Если получена верхняя асимптотическая оценка f(n), то говорят, что
- 10. Порядок функции f(n) - O(N2) О – функции выражают относительную скорость алгоритма в зависимости от некоторой
- 11. O(1,5*N) = O((17*N)*N) = O(N) O(17*N)*O(N) O(N2) = O(N)*O(N) = O(N*N) = = O(N5+N2) = O(N5)
- 12. Типы сложности алгоритма O(1) – константная сложность О(n) – линейная сложность О(nk), k = 2,3,4,… полиномиальная
- 13. int y,n; float x; y = scanf(“%d”,&n); if (n==0) { printf(“Введены неверные данные…\n ”); printf(“Для продолжения
- 14. Алгоритмы без циклов и рекурсивных вызовов имеют константную сложность. Оцените сложность алгоритма поиска минимального элемента квадратной
- 15. О(1) О(1) О(1) О(1) О(1) О(n)* О(i)+O(2i+1)+O(1)+O(i) О(2i+1) Среднее O(2n+1) ≈ O(n) О(n)
- 16. II вариант int n = 10; float x = 2; double q,q1; double S = 0;
- 17. Устойчивость - устойчивая сортировка не меняет взаимного расположения равных элементов. 1 2 3 1 2 3
- 18. Естественность поведения - эффективность метода при обработке уже отсортированных, или частично отсортированных данных. Вставка Выбор
- 19. Сфера применения Внутренние Внешние работают с данными в оперативной памяти с произвольным доступом упорядочивают информацию, расположенную
- 20. Способы сортировки Квадратичные и субквадратичные алгоритмы: Сортировка выбором (SelectSort) Сортировка вставками (InsertSort) Сортировка обменом (BubbleSort) Сортировка
- 21. Логарифмические и линейные алгоритмы Пирамидальная сортировка (HeapSort) Сортировка Хоара (QuickSort) Поразрядная сортировка (RadixSort)
- 22. Сортировка обменом Сортировка сравнивает пары рядом стоящих элементов и меняет их местами, если значение первого элемента
- 23. Алгоритм содержит 2 цикла На каждом шаге внутреннего цикла самый «большой» элемент занимает «свое» место в
- 24. Оптимизация алгоритма Фиксировать уже поставленные на свои места элементы Проверять, был ли выполнен хотя бы один
- 25. Характеристики алгоритма Лучший Средний Худший M = 0 M =3(n2 - n)/4 M =3(n2 - n)/2
- 26. от O(n) до О(n2) Оценка временной сложности алгоритма Естественность естественная Устойчивость устойчива
- 27. Сортировка выбором При первом просмотре элементов массива ищется индекс минимального элемента k, элемент с индексом k
- 28. 4 7 8 5 2 i=0 k = 4 → 2 7 8 5 4 2
- 29. Лучший Средний Худший M = 0 M =3n/2 M =3(n-1) C = (n-1)n/2 C = (n-1)n/2
- 30. Сортировка вставками Полагается i = 1, считается что массив от 0 до i -1 упорядочен. В
- 31. Оптимизация алгоритма 1. Использование сторожевого элемента 1.1. Ищется минимальный элемент , выставляется в позицию 0. 1.2.
- 32. Алгоритм сортировки бинарными вставками 1. для i от 2 до n если a[i-1]>a[i] то x:= a[i];
- 33. Характеристики алгоритма Лучший Средний Худший M = 2(n-1) M = 1/4 (n2+9n-10) M = 1/2 (n2+3n-4)
- 34. Лучший Средний Худший M = 0 M =(n-1)(n+3)/2 M = (n-1)(n+3) C = n-1 C =
- 35. Сортировка Шелла Сортирует элементы массива, отстоящие друг от друга на заданный интервал . После того, как
- 36. Сортировка Шелла Например, для массива из 7 элементов: 23 12 43 54 83 11 2 ?
- 37. Сортировка комбинированная Комбинация пузырька и сортировки Шелла. На каждом шаге сравниваются значения отстоящие друг от друга
- 38. Сортировка комбинированная 23 12 43 54 83 11 Hi0=7 H1= (7*8)/11=5 23 12 43 54 83
- 40. Скачать презентацию