Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
14-1117696261
Nik8.
2005-06-02 11:11
2005.06.29
Загадка - Два брата


11-1087458500
DmitryS
2004-06-17 11:48
2005.06.29
Архив форума KOL


1-1118126471
Леонид
2005-06-07 10:41
2005.06.29
Как запретить ввод значений в combobox


1-1118062729
Andrey Kononov
2005-06-06 16:58
2005.06.29
Как проверить является ли экземпляр потомком класса


8-1110040696
Chrom
2005-03-05 19:38
2005.06.29
Как получить любой пиксель на экране? И что такое hdc?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский