![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка большого массива [D7, WinXP]
VasRog © (2004-11-26 18:39:00)Имеется очень большой динамическиймассив типа real(около 8 млн.элементов). Какой метод сортировки массива по убыванию можно рассмотреть как самый быстрый?
VasRog (2004-12-01 18:27:00) [1]Большое спасибо.
Digitman (2004-12-01 16:38:00) [2]
> VasRog (01.12.04 16:22) [3]
в каталоге стандартных демо-проектов есть проект threads.dpr, демонстрирующий как собственно использование доп.тредов, так и 3-х различных широкораспространенных методов сортировки (в т.ч. "быстрая сортировка")
проект как раз наглядно и показывает, насколько эффективней при конкретно заданном неотсортированном массиве (с равномерным распределением) будет именно алгоритм "быстрой сортировки"
правда, демо-код алгоритмов сверстан для работы с ц/ч массивами, но чуть переделать его с целью адаптации к работе с массивами чисел в формате с п/з - плевое дело ...
VasRog (2004-12-01 16:36:00) [3]Вы имеете ввиду сеть что-ли?
MBo (2004-12-01 16:30:00) [4]>вот сколько искал, так и не нашел достойного описания алгорита
НЕ ВЕРЮ!
>не дадите ссылочку
уже дали
VasRog (2004-12-01 16:22:00) [5]вот сколько искал, так и не нашел достойного описания алгорита. не дадите ссылочку на алгоритм и какой-нибудь пример по нену?
MBo (2004-11-26 18:46:00) [6]QuickSort вполне подойдет(есть в модуле Classes).
Другие методы можно рассматривать, если массив в основном уже отсортирован.
Кроме того, существуют более быстрые методы, основанные на знании внутреннего представления вещественных типов (аналог поразрядной сортировки для целых чисел), но они требуют большого количества дополнительной памяти и сложны в реализации.
begin...end (2004-11-26 18:43:00) [7]Для начала попробуйте QuickSort (быстрая сортировка). Алгоритм есть в Сети, реализация есть в Delphi.