Почему худший случай для вставки сортировки n^2? Может ли это быть с бинарным поиском? Минимизируйте поиск местоположения в журнале (n), а затем используйте функцию низкого уровня, например memmove, чтобы минимизировать свопы?Вставка сортировка наихудшего случая
ответ
Не может ли это быть с бинарным поиском?
Вам нужно будет отсортировать массив первым использовать бинарный поиск, в качестве двоичного поиска можно только в отсортированном массиве
Редактировать Даже если первая часть массива сортируется. Дело в том, что вы находите позицию для вставки в шаги logn. Тогда вам действительно нужно вставить туда значение. Для этого вам нужно будет переместить все элементы вправо, требуя n шагов в худшем случае.
Вставка сортировки создает сортированная часть массива, по одному элементу за раз. Измененная сортировка вставки может использовать двоичный поиск (а не линейное сканирование), чтобы найти точку вставки для нового элемента, и это то, что предлагает @Taztingo. –
- 1. Пессимистическая блокировка наихудшего случая
- 2. Устанавливает сложность наихудшего случая python
- 3. Пример алгоритма, который имеет верхнюю границу наихудшего случая, нижнюю границу наихудшего случая и оценки наилучшего случая?
- 4. Алгоритм сортировки наилучшего случая/наихудшего сценария
- 5. Определение временных сложностей алгоритмов наихудшего случая
- 6. Доминирующий набор Жадный аппроксимация Пример наихудшего случая
- 7. Каков сценарий наихудшего случая для вставки sort O (n^2)?
- 8. Как сортировка слияния имеет сложность пространства O (n) для наихудшего случая?
- 9. Порядок вставки для наихудшего случая черная высота красного черного дерева
- 10. Инструмент для генерации данных наихудшего случая для заданного SQL-запроса
- 11. Сортировка NSArray и приоритет случая
- 12. Unordered_set вставка наихудший случай
- 13. TSP Эвристики - Худшее отношение случая
- 14. Вставка сортировка не подкачки
- 15. Вставка Сортировка по строкам
- 16. Вставка Сортировка справа налево
- 17. Вставка Сортировка для строки
- 18. C++ Вставка Сортировка сбоев
- 19. Вставка Сортировка: Неверный вывод
- 20. Вставка Сортировка по обмену
- 21. Вставка Сортировка Python
- 22. Ocaml вставка Сортировка
- 23. Вставка сортировка в C
- 24. Вставка Сортировка Неверный
- 25. Вставка сортировка Числовое
- 26. Вставка Сортировка строк
- 27. вставка сортировка связанного списка
- 28. ArrayLinkedList Вставка Сортировка
- 29. C++ Вставка Сортировка:
- 30. Вставка Сортировка и двоичный поиск Вставка сортировки
Причина, по которой сортировка вставки является O (n^2), заключается в том, что в худшем случае вам нужно переместить 'n' items' n' раз. Использование 'memmove' для перемещения элементов не изменяет сложность времени. – user3386109
Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что это лучше подходит для [\ [программистов se \]] (http://programmers.stackexchange.com) – sjsam
Если вы внесете какие-либо изменения в свой вопрос , это уже не сортировка вставки. –