|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.08.2009, 15:29 | #1 |
Новичок
Джуниор
Регистрация: 08.08.2009
Сообщений: 2
|
Хеширование
Задача. Есть файл с имейлами, каждый начинается с новой строки. Их примерно 1 миллион. Пользователь вводит сервер (mail.ru к примеру) и ему выдаются все адреса из файла, соответствующие этому серверу. Собственно нужно этот файл каким-то образом хешировать, чтобы все проходило относительно быстро. Подскажите, кто знает. Желательно поскорее, если есть возможность. Заранее спасибо.
ПС Пишу под .NET, поэтому оставил тему тут. |
08.08.2009, 17:23 | #2 | ||
New Delphi Coder
Форумчанин Подтвердите свой е-майл
Регистрация: 20.07.2008
Сообщений: 874
|
Это называется кэширование. Самое простое хранить все ящики отсортированные по алфавиту(всмысле домены отсортированы по алфавиту) + хранить файл с индексами первого вхождения домена в файл, потом находить по заданной букве, из индекс-файла по домену считать позицию первого вхождения в БД.
Например: Цитата:
Цитата:
p.s. Не знаю понятно ли объяснил. Реализовать легко.
Страх это слабость и потому, кто испугался уже побежден.
Последний раз редактировалось Mixasik; 08.08.2009 в 17:26. |
||
08.08.2009, 18:12 | #3 |
Новичок
Джуниор
Регистрация: 08.08.2009
Сообщений: 2
|
Спасибо, более-менее понял.
А каким функциями реализовать в .NET? Я пользуюсь таким вариантом: StreamReader^ nR; nR=gcnew StreamReader("mails.txt"); Хороший это вариант или плохой? Как мне можно с его помощью сразу попасть в определенную строку? |
10.08.2009, 12:31 | #4 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
Вообще есть метод
Код:
|
10.08.2009, 15:21 | #5 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
Сделайте хеш-таблицу с динамическими списками.
Индекс строчки - ASCII-код первого символа. В следствие чего будете индексировать по первому символу строки. Ну а закешировать это все прийдется всетаки. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хеширование для алгоритма TEA на Си. | NooDle | Общие вопросы C/C++ | 4 | 15.10.2010 20:50 |
Хеширование для алгоритма TEA на C. | NooDle | Помощь студентам | 0 | 13.04.2009 12:01 |