Другие языки программирования и технологии

В кaких слyчаях гнoмья соpтировка эффeктивнее сoртировки встaвками?

Ни в каких. Гномья сортировка - это одна из "непрактичных" сортировок, которые никогда не применяют на практике, т. к. работают они намного медленнее "медленных" сортировок. Фактически, гномью сортировку можно считать самым медленным из всех возможных вариантов сортировки вставками.

В гномьей сортировке "гном" всегда последовательно переходит к соседней паре ячеек - даже если он их уже просматривал. И после завершения движения назад он заново просматривает и сравнивает ранее уже просмотренные пары значений. Кроме того, при движении назад гном меняет местами каждую пару соседних значении (как в пузырьковой сортировке) - тратя на каждый обмен 3 операции присваивания.

В сортировке вставками мы запоминаем место, с которого началось движение назад, и после завершения движения назад сразу прыгаем к этому месту - не просматривая то, что уже просматривали. Кроме того, при движении назад мы запоминаем значение, с которого началось движение (1 операция), потом сдвигаем каждое значение на 1 позицию вправо (1 операция на каждое значение) и в конце записываем сохранённое значение в нужное место (1 операция).

Т. е. если нам надо перенести значение на 5 позиций, то в гномьей сортировке будет выполнено 3 * 5 = 15 операций присваивания, а в сортировке вставками 1 + 1 * 5 + 1 = 7 операций.
Сергей Никитин
Сергей Никитин
63 996
Лучший ответ
Временная сложность у этой сортировки O(n^2), но не это главное. Сортировка вставками, судя по всему — наиболее эффективный вариант для почти отсортированных массивов.
https://habr.com/ru/post/204968/
автор ответа посчитал, что вопрос является инфомусором (с)
Максим Фролов
Максим Фролов
78 142