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

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

Быстрый перебор десяток тысяч логинов [D7, Win95/98, WinXP]


WebSQLNeeder ©   (2005-12-10 13:38:00) 

Я вывел в РичЕдит пока что 5500 логинов и мне нужно их с определенной перилдичностью при появлении нового логина проверять есть ли уже такой в списке.

Так вот уже при 5500 записях в ричЕдите происходит на 0.5 а то и на 1 секунду подвисание программы, когда она проверяет. А как можно сделать так что бы можно было бы проверять десятки тысяч логинов? Может быть другой алгоритм проверки нужно использовать? Сейчас я в каждой строке РичЕдита храню по одному логину и потом перебираю все строки.  Может если хранить логины в масивах или еще каким то образом то будет быстрее??


NTFS   (2005-12-10 16:52:00) [1]

Удалено модератором
Примечание: Пункт 5


PAVIA   (2005-12-10 16:29:00) [2]

Я тут уже пару раз писал как работает ХЭШ поиск. По-этому скажу только в двух словах. Берем ХЭШ от каждого логина помещаем в массив значение с индекстом в качестве которого выступает ХЭШ сумма. Поиск это просто считаем ХЭШ и проверяем есть ли значение в массиве. Плюс для обработки колизей делают списки.


TStas   (2005-12-10 16:25:00) [3]

А зачем в ричэдите? Самый же медленный доступ. Можно просто в ТСтрингЛисте, а при необходимости отображать через Ассигн а Мемо


palva   (2005-12-10 15:17:00) [4]

Хранить надо в упорядоченном виде. Тогда искать получится быстрее.


TUser   (2005-12-10 14:39:00) [5]

Зачем хранить их в ричэдите?


Anatoly Podgoretsky   (2005-12-10 14:23:00) [6]

Что значит проверять, взламывать что ли что то?


DrPass   (2005-12-10 14:10:00) [7]


> Может если хранить логины в масивах или еще каким то образом
> то будет быстрее??

А самому попробовать?


Наверх

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