У меня проблема. Я очень смущен алгоритмами сортировки и вставки сортировки. Как мы должны отличать друг от друга?Оболочка сортировки и вставки сортировки
ответ
Вы можете реализовать сортировку вставки как серию сравнений и свопов смежных элементов. Это делает его «стабильным». Вместо этого Shell сортирует и свопит элементы, которые далеки друг от друга. Это делает его быстрее.
Я полагаю, что ваше замешательство проистекает из того факта, что сортировка оболочки может быть реализована в виде нескольких типов вставки, применяемых к различным подмножествам данных. Обратите внимание, что эти подмножества состоят из несмежных элементов последовательности данных.
См Википедии подробнее ;-)
Короткие и сладкие. спасибо ... – Rhokai
insertion sort простая, в месте, O (N^2) сортировка. Shell sort немного сложнее и труднее понять, а где-то вокруг O (N^(5/4)). Проверьте ссылки на примерах - это должно быть легко увидеть разницу.
Shell sort - обобщенная версия Insertion sort. Основной принцип одинаковый для обоих алгоритмов. У вас есть отсортированная последовательность длиной n, и вы вставляете в нее несортированный элемент - и вы получаете n + 1 Элементы, отсортированные в длинном порядке.
Разница следует: в то время как сортировка вставки работает только с одной последовательностью (изначально первый элемент массива) и расширяет ее (используя следующий элемент). Однако сортировка оболочки имеет уменьшающийся приращение, что означает, что между сравниваемыми элементами существует зазор (изначально n/2). Следовательно, есть n/2 последовательности, которые нужно сортировать, используя сортировку вставки. На каждом шаге приращение сжимается (часто просто делятся на 2.2), а количество последовательностей уменьшается. На последнем шаге отсутствует пробел, и алгоритм дегенерирует до простой сортировки вставки.
Из-за уменьшающегося приращения большие и малые элементы быстро перемещаются, чтобы исправить часть массива, а на последнем шаге отсортированы с помощью сортировки вставки очень быстро. Это приводит к уменьшению временной сложности O (n^(4/3))
- 1. Сценарии выбора сортировки, сортировки вставки и быстрого сортировки
- 2. JavaScript - Элементы вставки и сортировки
- 3. Использование сортировки вставки для сортировки входных данных
- 4. Алгоритм сортировки, сортировка вставки
- 5. Алгоритм сортировки вставки C#
- 6. Задача сортировки вставки
- 7. Функция сортировки вставки
- 8. Java: алгоритм сортировки вставки
- 9. Ошибка выполнения сортировки вставки
- 10. Инверсия для вставки сортировки!
- 11. Метод сортировки массива вставки
- 12. Сравнение сортировки вставки?
- 13. Ошибка сортировки вставки
- 14. вставки сортировки, используя Clojure
- 15. Элементы сортировки вставки C++
- 16. Как я могу исправить алгоритмы сортировки и вставки сортировки
- 17. Правильное объединение сортировки и вставки сортировки в C++
- 18. Объяснение частей сортировки пузыря и сортировки сортировки
- 19. сценарии сортировки сортировки и подсчета сортировки
- 20. Ошибка сортировки сортировки сортировки
- 21. Оболочка сортировки случайных чисел не работает
- 22. вставки алгоритм сортировки в R
- 23. Алгоритм сортировки вставки в C++
- 24. вставки кода сортировки не работает
- 25. Улучшение времени выполнения сортировки вставки
- 26. Программа сортировки вставки, без вывода
- 27. Алгоритм сортировки вставки - не выводя
- 28. Использование вставки Сортировка сортировки массива
- 29. Большой алгоритм сортировки вставки: итеративный и рекурсивный
- 30. вставки элемента в массиве яваскрипта и сортировки
Это совершенно разные алгоритмы. –
Но как это изменилось? Пожалуйста, объясните ... – Rhokai
Вы читали статьи в Википедии? Они дают очень хорошие объяснения двух алгоритмов. –