Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
3-1094724364
skif
2004-09-09 14:06
2004.10.10
<B>Как заэкранировать символ ( )</B>


14-1095858515
Mike B.
2004-09-22 17:08
2004.10.10
Модератор на рыбалке


14-1094669161
olookin
2004-09-08 22:46
2004.10.10
We are living in Amerika - Rammstein


1-1096272465
Serge
2004-09-27 12:07
2004.10.10
Design-Time controling


8-1088501362
GooFfy
2004-06-29 13:29
2004.10.10
Ani - курсоры




   Наверх