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

Вниз

Алгоритм нахождения distinct значений   Найти похожие ветки 

 
dima_shapkin   (2004-09-23 17:02) [0]

Уважаемые коллеги!!!
Кто сталкивался с проблемой быстрого нахождения distinct значений, а именно строк, причем очень "типичных и схожих"....
Использую хеш функцию, выдранную в Дельфе,
проблема конечно же в больших коллизиях из-за схожести значений и большой длинны строки.
Кто знает хоть что-нибудь по алгоритмам, методам, что угодно, хоть идею, буду очень признателен.


 
Sandman25 ©   (2004-09-23 17:16) [1]

Отсортировать.


 
Erik1 ©   (2004-09-23 17:33) [2]

Это целая науа, сортировка тут непоможет. Приведи проблему полностью.
Пример:
Сезам
зам
пр..
Вроде схожи :)


 
Sandman25 ©   (2004-09-23 17:35) [3]

сортировка тут непоможет

Сортируем. Проходим с начала до конца, отслеживая изменения. В чем проблема?


 
Erik1 ©   (2004-09-23 17:39) [4]

Первые буква могут отличатся, а слова быть похожими. Следовательно они попадут неподряд. Есть конечно возможность создать вычисляемое поле куда записывать фонетическое значение и сортировать по нему. Но помоему это отличается от сортировки


 
dima_shapkin   (2004-09-23 17:41) [5]

Хорошо сортировка допустим....
А каким алгоритмом сортировать?
Если использовать быструю сортировку от Дельфы, это повесится...


 
Sandman25 ©   (2004-09-23 17:45) [6]

[4] Erik1 ©   (23.09.04 17:39)

Мы по разному понимаем задачу автора.

[5] dima_shapkin   (23.09.04 17:41)

quicksort. Можно самому написать, можно найти готовый.


 
dima_shapkin   (2004-09-23 17:48) [7]

quicksort, тоже хорошо
Пример, далеко ходить не надо, сортирую в дельфе ее же быстрой сортировкой 30 тысяч строк, получаю полный зависон, Excel тратит на это менее секунды....
Наверняка для строк он использует спец. алгоритм, вот какой?


 
Sandman25 ©   (2004-09-23 17:50) [8]

[7] dima_shapkin   (23.09.04 17:48)

Код покажите... Может у Вас там перераспределение памяти идет.


 
Palladin ©   (2004-09-24 01:32) [9]


>  dima_shapkin   (23.09.04 17:48)

Да ты что? 30 тысяч? Полный зависон? Конечно делфи виновата... кто же еще... не автор же... со своим странным мировоззрением...
За алгоритмами далеко ходить не надо... Исходники есть... Даже если нет... %Demos%\Threads\


 
TUser ©   (2004-09-24 07:42) [10]

Помимо сортировки с бинарным/интерполяционным поиском есть и другие меоды. Как то - деревья двоичного поиска, нагр. деревья (вот то рекомендую) и т.д. См. Кнут, Вирт, Ахо и др.


 
Думкин ©   (2004-09-24 07:53) [11]

> [7] dima_shapkin   (23.09.04 17:48)
> quicksort, тоже хорошо
> Пример, далеко ходить не надо, сортирую в дельфе ее же быстрой
> сортировкой 30 тысяч строк, получаю полный зависон

У меня вполне недурственно сортируется и миллион строк. Причем и дельфовой быстрой и моей с рядом изменеий - слегка быстрее.



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

Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.034 c
3-1095249551
panov
2004-09-15 15:59
2004.10.10
Корректировка таблицы sysprocesses


14-1095664307
Рамиль
2004-09-20 11:11
2004.10.10
Ищу работу в Москве (ERP).


9-1086801828
Igoryok
2004-06-09 21:23
2004.10.10
Продолжение про Delphi X и концепцию дальнейшего развития


1-1095890920
Mishenka
2004-09-23 02:08
2004.10.10
Компонент как в Outlook Express.


3-1095328995
_alex_
2004-09-16 14:03
2004.10.10
Защита данных в Access





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский