Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Rt
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 7
1

Хэш-функция

13.04.2020, 11:02. Показов 1117. Ответов 1

Author24 — интернет-сервис помощи студентам
Я новичок в С++. Помогите пожалуйста.
Пусть m (размер хеш-таблицы) равен 2^p. Обозначим d=k^2 и представим d в виде двоичного числа. Тогда значением хеш-функции h(k) будет p битов средней части d.
У меня примерно получилось так
C++
1
2
3
4
5
6
7
8
9
int h(int key) { 
 
key =pow ( key,2); 
 
key >>= 5; // Отбрасываем 5 младших бит 
 
return key % pow ( 2,p); // Возвращаем p младших бит 
 
}
Но мне кажется не рационально отбрысывать 5 бит или для данной задачи я всё сделал правильно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2020, 11:02
Ответы с готовыми решениями:

Хэш функция
Нашел хэш функцию в нете,помогите разабратся че она делает unsigned HashData(char * DATA, int...

Хэш функция
Помогите пожалуйста с программой. Честно не просил бы, но вообще без понятия как делать и что...

Хэш-функция
Здравтствуйте! У меня такая проблема. У меня есть текст, и мне нужно каждому слову поставить в...

хэш-функция
Здрасти. Почитал тут про хэш-ф-ии, и был приведен пример: hashVal=(hashVal*128+key)%tableSize; ...

1
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
13.04.2020, 13:33 2
Цитата Сообщение от Rt Посмотреть сообщение
Но мне кажется не рационально отбрысывать 5 бит или для данной задачи я всё сделал правильно?
Что такое "средняя часть d"?

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
int h(int key) 
{
    const int d = key * key;
    //???????????key >>= 5; // Отбрасываем 5 младших бит
 
    //return d % m; 
    return d & ~(m - 1); //если m - степень двойки, >= 2 
}
0
13.04.2020, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2020, 13:33
Помогаю со студенческими работами здесь

Хэш-функция
Здравствуйте, нужно придумать хэш-функцию достаточно эффективное и с не очень большим числом...

Дефолтная хэш функция
Есть ли на плюсах, какая-то дефолтная хэш функция?

Простейшая хэш-функция
Здравствуйте. Дали задание составить хэш-таблицу из некоторого числа слов. Нужна простейшая...

Генератор псевдо-случайных чисел, как хэш-функция
Анализируя генератор псевдослучайных чисел Я пришел к выводу, что (Учитывая что RAND_MAX =...

Описать класс "хэш-таблица", используя unordered_set и заданную хэш-функцию
Здравствуйте. Есть класс объектов и ключ сравнения: #pragma once #include <iostream> #include...

ХЭШ таблицы на С++
Всем привет, кто-нить знает что-нибудь по вот такой задаче (цитирую условие): "Реализовать и...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru