Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Оптимальная сортировка   Найти похожие ветки 

 
Mr.F ©   (2005-06-06 16:28) [0]

Есть такая задача: дан массив, в нем куча элементов в массиве... (> 10^9)
Надо их отсортировать. Элементы не повторяются. Одна операция сравнения = далеко не один цикл процессора, поскольку элементами массива являются указатели на строки с нулевым символом в конце.
Нужен реальный алгоритм (код), который сведет к минимуму операции сравнения элементов.


 
Anatoly Podgoretsky ©   (2005-06-06 16:30) [1]

Такого массива в Дельфи быть не может.


 
Digitman ©   (2005-06-06 16:31) [2]


> операция сравнения = далеко не один цикл процессора, поскольку
> элементами массива являются указатели на строки с нулевым
> символом в конце


целиком строки что ли сравниваешь ? или как ?

уважающие себя алгоритмы поступают иначе ..


 
Digitman ©   (2005-06-06 16:32) [3]


> куча элементов в массиве... (> 10^9)


и точно) ... врешь и не моргаешь !)


 
Mr.F ©   (2005-06-06 16:34) [4]

> Такого массива в Дельфи быть не может.
Бывают такие массивы... дело в том, что это всего лишь array of Char, в котором непрерывно записаны строки, разделенные нулевым символом
> уважающие себя алгоритмы поступают иначе ..
И как же они поступают???


 
Mr.F ©   (2005-06-06 16:35) [5]

сорри... 10^6 :)))


 
Digitman ©   (2005-06-06 16:37) [6]


> Бывают такие массивы


угу ... и ты, конечно же, готов дать голову на отсечение. что своими глазами видел length(такого_массива) >= 10^9 .. )

нельзя ли поскромней ?) ... не врать хотя бы ?)


> И как же они поступают


некоторые сравнивают сначала длину (если есть готовая)
далее посимвольно, в цикле, с учетом кодировки и case-условий..


 
Digitman ©   (2005-06-06 16:39) [7]


> Элементы не повторяются


сразу квиксорт напрашивается


 
Mr.F ©   (2005-06-06 16:40) [8]

> некоторые сравнивают сначала длину (если есть готовая)
Готовая - есть, но помочь она ничем не может... ведь проверка в алгоритмах не на равенство, а < или >...
Так какие все-таки алгоритмы уважают себя???


 
Хинт ©   (2005-06-06 16:42) [9]

QuickSort (сортировка Хоара)


 
Digitman ©   (2005-06-06 17:08) [10]


> Mr.F ©   (06.06.05 16:40) [8]


> ведь проверка в алгоритмах не на равенство, а < или >...


если 1-я строка короче 2-й, то в зависимости от КОНКРЕТНЫХ выбранных критериев "равенства" можно сразу утверждать, что 1-я > 2-й, или 2-я > 1-й


 
Digitman ©   (2005-06-06 17:10) [11]


> какие все-таки алгоритмы уважают себя?


те самые, которые с учетом выбранной codepage и collation order спавнивают строки посимвольно



Страницы: 1 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
8-1109712268
parovoZZ
2005-03-02 00:24
2005.06.29
Частота монитора и OpenGL


4-1115404206
Switer
2005-05-06 22:30
2005.06.29
Блокировка клавиш


1-1117914700
alex-drob
2005-06-04 23:51
2005.06.29
Все строки функции выполнятся?


4-1115054643
Гном23
2005-05-02 21:24
2005.06.29
о dll -ках


9-1111489083
Xeno
2005-03-22 13:58
2005.06.29
Деформация