Содержание
- 2. План Сортировка с помощью прямого включения Сортировка с помощью прямого выбора Сортировка с помощью прямого обмена
- 3. 1. Сортировка методом прямого включения Такой метод широко используется при игре в карты. Элементы (карты) мысленно
- 4. 1. Сортировка с помощью прямого включения Алгоритм этой сортировки таков: for (i=1; i { х= a[i];
- 5. 1. Сортировка с помощью прямого включения Таблица 2.1. Пример сортировки с помощью прямого включения Начальные ключи
- 6. 1. Сортировка с помощью прямого включения В реальном процессе поиска подходящего места удобно, чередуя сравнения и
- 7. 1. Сортировка с помощью прямого включения Такой типичный случай повторяющегося процесса с двумя условиями окончания позволяет
- 8. 1. Сортировка с помощью прямого включения for (i=1;i { int x=a[i]; j=i; while (x 0) {
- 9. 1. Сортировка с помощью прямого включения Стоит отметить, что приведенная программа не совсем соответствует естественному ходу
- 10. 2. Сортировка методом прямого выбора 1. Выбирается элемент с наименьшим ключом. 2. Он меняется местами с
- 11. 2. Сортировка с помощью прямого выбора Процесс работы этим методом с теми же восемью ключами, что
- 12. 2. Сортировка с помощью прямого выбора Таблица 2.2. Пример сортировки с помощью прямого выбора Начальные ключи
- 13. 2. Сортировка с помощью прямого выбора Такой метод - его называют прямым выбором - в некотором
- 14. 2. Сортировка с помощью прямого выбора for (i=0;i { int k=i, x=a[i]; for (j=i+1; j if
- 15. 3. Сортировка методом прямого обмена Классификация методов сортировки редко бывает осмысленной. Оба разбиравшихся до этого метода
- 16. 3. Сортировка с помощью прямого обмена Таблица 2.3. Пример пузырьковой сортировки i= 1 2 3 4
- 17. 3. Сортировка с помощью прямого обмена Таблица 2.3. Пример пузырьковой сортировки 44 55 12 42 94
- 18. 3. Сортировка с помощью прямого обмена Как и в упоминавшемся методе прямого выбора, мы повтор проходы
- 19. 3. Сортировка с помощью прямого обмена for (i=1;i for (j=(n-1);j>=i;j--) if (a[j-1]>a[j]) { x=a[j-1]; a[j-1]=a[j]; a[j]=x;
- 20. 4. Улучшенный метод пузырька Очевидный прием улучшения этого алгоритма - запоминать, были или не были перестановки
- 21. 4. Улучшенный метод пузырька Это улучшение, однако, можно опять же улучшить, если запоминать не только сам
- 22. 4. Улучшенный метод пузырька Внимательный программист заметит здесь некоторую своеобразную асимметрию. Один плохо расположенный пузырек на
- 23. 4. Улучшенный метод пузырька Получающийся при этом алгоритм назовем шейкернои* сортировкой (ShakerSort). L = 2 3
- 24. 4. Улучшенный метод пузырька int L,R,k; L=1; R=n-1; k=n-1; do { for (j=R; j>=L; j--) if
- 25. 5. Сортировка методом разделения (быстрая) Разобравшись в двух усовершенствованных методах сортировки, построенных на принципах включения и
- 26. 5. Сортировка с помощью разделения (быстрая) В Quicksort исходят из того соображения, что для достижения наилучшей
- 27. 5. Сортировка с помощью разделения (быстрая) Алгоритмом: выберем наугад какой-либо элемент (назовем его х) и будем
- 28. 5. Сортировка с помощью разделения (быстрая) int i=0; int j=n-1; float middle=arr[(left+right)/2]; while (i while (arr[i]
- 29. 5. Сортировка с помощью разделения (быстрая) Обратите внимание, что вместо отношений > и = и =
- 30. 5. Сортировка с помощью разделения (быстрая) Последние значения индексов таковы: i=5, a j=3. Ключи а1,...аi-1 меньше
- 31. 5. Сортировка с помощью разделения (быстрая) Описанный алгоритм очень прост и эффективен, поскольку главные сравниваемые величины
- 32. 5. Сортировка с помощью разделения (быстрая) Однако в этом случае выбранный элемент х, находящийся среди компонент
- 33. 5. Сортировка с помощью разделения (быстрая) Теперь напомним, что наша цель — не только провести разделение
- 35. Скачать презентацию