LINUX.ORG.RU

Быстрая сортировка


0

0

Подскажите алгоритм быстрой сортировки массива размерности N = const вещественных чисел в известном диапазоне (n > x[i] > k). И, если есть, его реализацию на С++ (может в составе математических библиотек).

используй сортировку на основе двоичного дерева, исходники на си есть для ядра линукс, вроде не использует стдлиб

dimon555 ★★★★★
()
Ответ на: комментарий от dilmah

>для ВЕЩЕСТВЕННЫХ (см. стартовое сообщение) radix sort не совсем тривиален.

тогда облом

dimon555 ★★★★★
()
Ответ на: комментарий от dilmah

Вообще-то если раскурить IEEE 754 и применить немного особой битовой магии, то можно что-то изобразить.

legolegs ★★★★★
()
Ответ на: комментарий от unixway

> В шаблонах есть. Там как раз алгоритм быстрой сортировки

AFAIK, в реализация sort чаще всего используется алгоритм introsort.

m0rph ★★★★★
()

да, m0rph прав. sort() из stdlib должна юзать быструю сотировку (Г.Шилдт так пишет по крайней мере). Вам лишь надо написать функцию сравнения, которая возвращает число больше, меньше или равное нулю в зависимости от сравнмваемых аргументов.

Dikar ★★
()

по условию задачи, видимо, необходимо использовать наиболее эффективный алгоритм именно для известного диапазона и именно вещественных чисел.
Для грамотного выбора нужно видимо почитать теорию, типа Кнута.

Если нужно просто отсортировать с наименьшем приложением головы и чтоб это было быстрее чем «пузырьком», то юзай qsort из stdlib.

vyv ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.