Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


dima_shapkin ©   (2004-09-23 17:02:00) 

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


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

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

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


TUser   (2004-09-24 07:42:00) [2]

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


Palladin   (2004-09-24 01:32:00) [3]


>  dima_shapkin   (23.09.04 17:48)

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


Sandman25   (2004-09-23 17:50:00) [4]

[7] dima_shapkin   (23.09.04 17:48)

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


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

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


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

[4] Erik1 ©   (23.09.04 17:39)

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

[5] dima_shapkin   (23.09.04 17:41)

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


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

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


Erik1   (2004-09-23 17:39:00) [8]

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


Sandman25   (2004-09-23 17:35:00) [9]

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

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


Erik1   (2004-09-23 17:33:00) [10]

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


Sandman25   (2004-09-23 17:16:00) [11]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо