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

Вниз

Алгоритм нахождения 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
3-1095155532
_alex_
2004-09-14 13:52
2004.10.10
FireBird


14-1095281471
Marser
2004-09-16 00:51
2004.10.10
Рома-Динамо


10-1047475374
Grrey
2003-03-12 16:22
2004.10.10
Глюки при создании ActveX компонентов.


3-1095254773
yaric
2004-09-15 17:26
2004.10.10
TISC_DB_HANDLE он же PVOID из IBASE


1-1095960132
lipskiy
2004-09-23 21:22
2004.10.10
Как назначить PopupMenu на один из пунктов MainMenu (Срочно!!!)