|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Хеш группы чисел |
|
Разное - [решено] Хеш группы чисел
|
Старожил Сообщения: 467 |
Профиль | Отправить PM | Цитировать Есть набор групп чисел(допустим, массивы). Необходимо быстро и однозначно найти данные, уникальные для каждой группы. Для такой задачи отлично подходят хеш-карты. Но вот проблема - как вычислить хеш для массива чисел? В данный момент у меня работает такой быдлокод: сортирую массив чисел, байты массива перегоняю в строку, считаю хеш для строки. Может быть есть более быстрое решение?
|
|
------- Отправлено: 22:50, 09-05-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать crashtuak, язык какой?
|
Отправлено: 22:58, 09-05-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать crashtuak, массив чисел от строки отличается носителем буквы. Допусти это массив 32-разрядных знаковых целых. Тогда можно применить любой алгоритм хеширования, какой придёт в голову. Например:
typedef unsigned long array_hash; array_hash make_hash(const long *first, const long *last) { array_hash hash = 0; for(; first<last; ++first) {hash=(array_hash)(hash*91284645 + *first);} /*число вбил от балды, желательно нечётное*/ return hash; } Качество хеша - так себе, но есть большая вероятность, что будут отбиваться последовательности с одинаковым началом, что поможет при последующем линейном поиске. Массивы хранить уже сортированными. |
Отправлено: 09:07, 10-05-2013 | #3 |
Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать pva, спасибо, пробил на имеющихся данных - работает хорошо, повторений не было.
|
------- Отправлено: 19:21, 10-05-2013 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
как расшифровать хеш md5 в форуме YaBB и перенос пользователей в Drupal | koresaram | Хочу все знать | 15 | 05-11-2014 15:16 | |
[решено] Не сходятся с указанными хеш-суммы 2-х драйверов | liks | Хочу все знать | 5 | 22-08-2012 23:58 | |
Доступ - [решено] Хеш паролей | TViP | Microsoft Windows 2000/XP | 3 | 13-07-2012 09:35 | |
Разное - Хеш пароля. | fennomen.bmw | Microsoft Windows 2000/XP | 2 | 11-10-2011 12:02 | |
Разное - ХР prof SP3. Член группы Пользователи видит "Назначенные задания" члена группы Админa | programfiles | Microsoft Windows 2000/XP | 1 | 12-04-2010 14:01 |
|