Форум программистов, компьютерный форум CyberForum.ru

Хеш-функция, двойное хеширование - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Валентин^_^
10 / 10 / 2
Регистрация: 15.10.2009
Сообщений: 119
05.04.2012, 22:40     Хеш-функция, двойное хеширование #1
Всем привет!

Пишу курсач, нужна хеш-функция, которая принимала бы строку и возвращала некий индекс.
Написал нечто вроде
C++
1
2
3
4
5
6
unsigned int Hash(char *str)
{
    int a = ( (int)str[0] + (int)str[1] + (int)str[3] + (int)str[4] ) / _SIZE;
    int b = ( (int)str[4] * (int)str[3] / (int)str[2] * (int)str[1] ) / _SIZE;
    return ( a + b ) % _SIZE;
}
Но даёт коллизии дикие...

p.s. строка формата xx-yy, где xx - числа, yy - буквы.

Парни, посоветуйте плиз, а то под вечер ничего умного уже не придумать..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2012, 22:40     Хеш-функция, двойное хеширование
Посмотрите здесь:

Двойное условие C++
C++ Двойное Неравенство
C++ Шаблоны. Хеш-функция
Хеш функция C++
C++ Метод открытого хеширования и хеш-функция, основанная на методе деления с остатком
C++ Объясните как работает хеш-функция
Хеш функция C++
Двойное наследование C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
05.04.2012, 23:12     Хеш-функция, двойное хеширование #2
CRC Sha md5 не годятся?
Валентин^_^
10 / 10 / 2
Регистрация: 15.10.2009
Сообщений: 119
05.04.2012, 23:22  [ТС]     Хеш-функция, двойное хеширование #3
Неа, нужна самописная
Yandex
Объявления
05.04.2012, 23:22     Хеш-функция, двойное хеширование
Ответ Создать тему
Опции темы

Текущее время: 03:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru