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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Валентин^_^
10 / 10 / 2
Регистрация: 15.10.2009
Сообщений: 121
#1

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

05.04.2012, 22:40. Просмотров 1985. Ответов 2
Метки нет (Все метки)

Всем привет!

Пишу курсач, нужна хеш-функция, которая принимала бы строку и возвращала некий индекс.
Написал нечто вроде
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++
Всем добрый день! В общем, нужно подсчитать кол-во коллизий. За это отвечает функция size_t collisions_count(), но почему-то не...

Шаблоны. Хеш-функция - C++
Добрые день. Есть задание сделать телефонную книгу. Поиск в базе сделать через хеш-функцию. name - фамилия абонента. num - номер...

Объясните как работает хеш-функция - C++
int Hash_Function1(DrugStore object) { int result = 0; for (int i = 0; i < SSize+1; i++) result = result +...

Нужна хеш-функция для программы на языке С++ - C++
К моей программе необходимо прикрутить функцию для вычисления хеша. Подскажите, пожалуйста, работоспособный исходник хеш-функции для...

Метод открытого хеширования и хеш-функция, основанная на методе деления с остатком - C++
Ещё раз здравствуйте! Есть такое задание: Написать программу, которая реализует метод открытого хеширования и хеш-функцией,...

Каким образом unordered_map выдает правильное значение для ключа, если его хеш функция допускает коллизии? - C++
Читаю книгу джосаттис стандартная библиотека c++, там в разделе про unordered_map есть описание данного контейнера Раз уж каждый...

Хеширование - C++
Вот такая проблема... Точнее их много, но если по порядку, то сейчас только такая проблема: Хеширование, методом середины квадрата,...

Двойное условие - C++
как сделать двойное условие в уловии if ?! на пример X<100, но X>50

Двойное Неравенство - C++
Прошу помочь найти ошибку в коде: #include <iostream> using namespace std; int main () { unsigned long A, B, C, D; int Cou = 0;...

Двойное наследование - C++
Доброго времени суток. Я делаю домашнее задание, в котором надо создать класс из него создать два производных класса, а потом из этих двух...

Двойное сравнение char - C++
Код: int main() { std::string buf; std::cin >> buf; std::cout << (buf==buf=='/') << '\n'; ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru