Содержание
- 2. План План Сортировка: общие замечания Задача сортировки Внутренняя и внешняя сортировка Устойчивость Сортировка массива Сортировка прямыми
- 3. Сортировка: общие замечания Задача сортировки Внутренняя и внешняя сортировка Устойчивость Сортировка массива
- 4. Сортировка: общие замечания Сортировка Сортировка – процесс перестановки объектов заданной совокупности в определенном порядке (возрастающем или
- 5. Сортировка: общие замечания Сортировка: более формально Дано: N объектов a1, a2, …, aN Требуется: упорядочить заданные
- 6. Сортировка: общие замечания Сортировка: устойчивость При устойчивой сортировке относительный порядок элементов с одинаковыми ключами не меняется
- 7. Сортировка: общие замечания Сортировка массивов Массив – одна из наиболее распространенных совокупностей, подвергаемых сортировке От алгоритмов
- 8. Сортировка: общие замечания Сортировка массивов: алгоритмы Простые методы сортировки – прямые, временная сложность – O(n2) сортировка
- 9. Сортировка прямыми выставками Идея Псевдокод Анализ алгоритма Сортировка бинарными вставками
- 10. Сортировка вставками Сортировка вставками
- 11. Сортировка вставками 1 3 4 8 10 14 16 21 24 31 33 36 38 42
- 12. Сортировка вставками Сортировка простыми вставками
- 13. Сортировка вставками Сортировка простыми вставками Анализ алгоритма Лучший случай: массив упорядочен Худший случай: массив упорядочен в
- 14. Сортировка вставками Сортировка бинарными вставками Сортировка простыми вставками может быть улучшена Можно ускорить поиск подходящего места
- 15. Сортировка прямым выбором Идея Псевдокод Анализ алгоритма
- 16. Сортировка выбором 1 3 4 8 10 14 16 21 24 31 33 36 38 42
- 17. Сортировка выбором Сортировка простым выбором SELECTIONSORT(A) 1 for i ← 1 to length[A] – 1 do
- 18. Сортировка выбором Сортировка простым выбором Анализ алгоритма Количество сравнений не зависит от начального порядка элементов: Лучший
- 19. Сортировка прямыми обменами Идея Псевдокод Анализ алгоритма
- 20. Сортировка обменами Сортировка простыми обменами (пузырьковая сортировка) Идея: пузырек воздуха в стакане воды поднимается со дна
- 21. Сортировка обменами Сортировка простыми обменами (пузырьковая сортировка)
- 22. Сортировка обменами void main() { const int N = 10; int A[N], i, j, c; //
- 23. Сортировка обменами Улучшенный метод «пузырька» Если при выполнении очередного прохода не было обменов, то массив уже
- 24. Сортировка обменами Улучшенный метод «пузырька» i = 0; do { flag = 0; // сбросить флаг
- 25. Сортировка обменами Шейкерная сортировка Метод пузырька несимметричен При нарушении почти полного порядка «легкими» элементами, требуется мало
- 26. Сортировка обменами Шейкерная сортировка
- 27. Сортировка обменами Сортировка простыми обменами Анализ алгоритма Лучший случай: массив упорядочен Худший случай: массив упорядочен в
- 28. Сортировка обменами «Шейкерная» сортировка Анализ алгоритма Лучший случай: массив упорядочен Худший случай: массив упорядочен в обратном
- 29. Сортировка обменами Прямые методы сортировки Сортировка обменами несколько менее эффективна сортировок вставками и выбором Шейкерная сортировка
- 30. Сортировка Шелла Идея алгоритма Анализ алгоритма
- 31. Сортировка Шелла Сортировка Шелла (Д.Л.Шелл, 1959) Элементы разбиваются на подмножества для некоторого h>1 a1, a1+h, a1+2h,
- 32. Сортировка Шелла Сортировка Шелла 1 2 3 4 5 6 7 8 9 10 11 12
- 33. Сортировка Шелла Сортировка Шелла Анализ алгоритма Анализ приводит к сложным математическим задачам Для эффективной сортировки соседние
- 34. Сортировка слиянием Идея алгоритма Временная сложность алгоритма
- 35. Сортировка слиянием 1 3 4 8 14 24 31 42 27 51 59 int[] merge(int[] a,
- 36. Сортировка слиянием 1 3 4 8 10 14 16 21 24 31 33 36 38 42
- 37. Сортировка слиянием Алгоритм сортировки слиянием (фон Неймана) Псевдокод // Merge() сливает два упорядоченных подмассива // в
- 38. Сортировка слиянием #include #include void merge (int *a, int n, int m) { int i, j,
- 39. Сортировка слиянием Сортировка слиянием Анализ алгоритма Анализ приводит к сложным математическим задачам Асимптотическая сложность – O(N
- 40. Быстрая сортировка Идея алгоритма Временная сложность алгоритма
- 41. Быстрая сортировка 1 3 4 8 10 14 16 21 24 31 33 36 38 42
- 42. Быстрая сортировка Быстрая сортировка Псевдокод
- 43. Пример программы int a[100]; void quickSort(int l, int r) { int x = a[l + (r
- 44. Быстрая сортировка Улучшения алгоритма Первый элемент в сортируемом куске выбирается случайно и запоминается Участки, меньшие определенного
- 45. Быстрая сортировка Быстрая сортировка Анализ алгоритма Эффективность во многом зависит от сбалансированности разбиения на подмассивы Наихудшее
- 47. Скачать презентацию