С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/55: Рейтинг темы: голосов - 55, средняя оценка - 4.65
 Аватар для SunFox25
7 / 6 / 2
Регистрация: 09.08.2018
Сообщений: 27

Сортировка Слиянием vs Быстрая Сортировка - что лучше

13.08.2018, 16:21. Показов 11874. Ответов 6

Студворк — интернет-сервис помощи студентам
Народ, помогите разобраться какой из методов сортировки лучше "Сортировка Слиянием" или "Быстрая Сортировка":
у быстрой худшее время O(n ^ 2), а у сортировки слиянием O(n log n);
среднее время одинаковое - O(n log n);
лучшее - у сортировки слиянием O(n log n), а у быстрой - O(n log n) (обычное разделение) или O(n) (разделение на 3 части);
Затраты пямяти опять же лучше у сортировки слиянием - O(n) вспомогательных, против O(n) вспомогательных + O(log n) вспомогательных у быстрой

Мне почему-то кажеться, что сортировка слиянием лучше, хотя я конечно не разбираюсь в том, что такое это большое "О" и что означает "n log n" (я не понял их перемножить надо (n и логарифм из n) или как?).

Если есть специалист - пожалуйста, разъясните, какой метод всё-таки эффективнее. А то у меня стоит для сортировки текстур сортировка слиянием, а сейчас наткнулся на быструю сортировку, и не знаю, что эффективней.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.08.2018, 16:21
Ответы с готовыми решениями:

3.1 Посмотрите, вроде быстрая сортировка, в любом случае, можете переделать(лучше под с++)?
#include <stdio.h> #include <conio.h> #include <clocale> #include <stdlib.h> #include <math.h> /* выделение памяти */ int...

Сортировка слиянием. В каком куске кода происходит сортировка и каким именно образом?
Помогите, пожалуйста, разобраться. Подскажите в каком куске кода происходит сортировка и каким именно образом? #include <iostream> ...

Что такое быстрая сортировка?
как работает и и для чего она применяется?:(

6
 Аватар для Human_foot
156 / 114 / 36
Регистрация: 27.06.2018
Сообщений: 257
13.08.2018, 16:44
Лучший ответ Сообщение было отмечено SunFox25 как решение

Решение

В гугле первые строки. Вот теория с графиками и таблицами сравнений
https://habr.com/post/188010/
https://ru.wikipedia.org/wiki/... _алгоритма
http://bigocheatsheet.com
1
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
13.08.2018, 16:55
По мне так сортировка слиянием. В прочем если входных данных не много, то как-то и без разницы.

Добавлено через 1 минуту
Цитата Сообщение от SunFox25 Посмотреть сообщение
"n log n" (я не понял их перемножить надо или как?).
Да.
0
 Аватар для SunFox25
7 / 6 / 2
Регистрация: 09.08.2018
Сообщений: 27
13.08.2018, 19:49  [ТС]
Спасибо большое. Оказалось что самая эффективная сортировка - "Поразрядная Сортировка". Но это наверное только для целых чисел, а мне надо для float. Есть ли какой-нибудь способ выполнить поразрядную сортировку для типов float/double?
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
13.08.2018, 20:32
Цитата Сообщение от SunFox25 Посмотреть сообщение
Есть ли какой-нибудь способ выполнить поразрядную сортировку для типов float/double?
Если числа положительные, то втупую конвертируешь указатель на массив float в указатель на массив целых беззнаковых чисел того же размера. Отношение порядка при этом сохраняется. Если есть отрицательные числа, то чуть сложнее.
0
 Аватар для SunFox25
7 / 6 / 2
Регистрация: 09.08.2018
Сообщений: 27
14.08.2018, 03:49  [ТС]
Что-то я не уверен, что при таком способе получиться сортировать числа с плавающей запятой, можно пожалуйста доказательства. И как быть с отрицательными числами не могу понять, они очень нужны.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
14.08.2018, 08:15
Цитата Сообщение от SunFox25 Посмотреть сообщение
доказательства
Доказательство напрямую следует из стандарта IEEE-754, который практически везде используется для представления чисел с плавающей точкой. Можешь вручную расписать числа и убедиться.
Цитата Сообщение от SunFox25 Посмотреть сообщение
И как быть с отрицательными числами не могу понять
Если в массиве будут отрицательные числа, то после сортировки он будет почти упорядочен. Необходимо будет немного переставить элементы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.08.2018, 08:15
Помогаю со студенческими работами здесь

Быстрая сортировка. Что не так?
Всем привет. Задание - написать квиксорт с уменьшенной глубиной рекурсии, то есть "сначала сортировать более короткий кусок, а затем...

Подскажите что не в моем коде(Сортировка слиянием)
Я не очень понимаю где именно неверно в моем коде. Хотел рассортировать массив методом слияния. Если найдете заранее спасибо! ...

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным элементом. Немогу понять как устоновить...

Быстрая сортировка (сортировка Хоара) для связных списков
есть у кого готовый алгоритм? или подскажите как реализовать

2 сортировки: пирамидальная сортировка и сортировка слиянием
Реализовать два улучшенных алгоритма сортировки. Для каждого алгоритма вычислить показатель качества сортировки (количество операций, т.е....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru