@VZVZ
Reverse-Engineer, Software Developer, Architect

Верно ли, что чем сильнее «разрознен» массив чисел, тем больше времени займет его сортировка (допустим, пузырьком)?

Скажем, если я отсортирую 2 отдельных массива, затем объединю их в один, добавив элементы одного между элементов другого (как косичку заплетают), а потом полученный массив еще раз отсортирую, то эта последняя сортировка займет меньше времени, чем если бы я изначально имел 1 массив?

Если неохота ответить на второй вопрос - ответьте на первый.
  • Вопрос задан
  • 363 просмотра
Пригласить эксперта
Ответы на вопрос 3
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
Для сортировки пузырьком
  1. имеет значение не средневзвешенное, а только максимальное отклонение позиции элемента от верной.То есть, другими словами, если вы в отсортированном массиве только поменяете местами крайние элементы, то его сортировка пузырьком займет максимально возможное время.
  2. определенно да.

Для приведенного подхода(отдельно сортировать части потом слить) применяют сортировку слиянием merge-sort.
Ответ написан
Комментировать
@MiiNiPaa
1. В общем случае, нет.
2. Возможно, да, возможно, нет. Сильно зависит от используемого алгоритма и элементов массивов.
Ответ написан
@abcd0x00
Очень похоже на сортировку слиянием и пирамидальную сортировку. Чтобы не изобретать эти сортировки (которые, естественно, быстрее пузырьковой), лучше найди их описание и реализуй каждую по отдельности.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы