Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
1

Дефолтная хэш функция

04.02.2015, 19:29. Показов 1689. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть ли на плюсах, какая-то дефолтная хэш функция?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2015, 19:29
Ответы с готовыми решениями:

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

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

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

9
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.02.2015, 19:30 2
Нет конечно.
0
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
04.02.2015, 19:32  [ТС] 3
т.е. всегда нужно реализовывать свою?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.02.2015, 19:35 4
Лучший ответ Сообщение было отмечено Stas0n как решение

Решение

Ну если есть удовлетворяющая требованиям функция с открытым кодом, то можно взять её. Или если есть сторонняя библиотека с подходящей функцией. А дефота здесь нет хотябы потому, что в каждом случае свои требования к хешу. Например, криптографический хеш и хеш индекса разреженного массива должны удовлетворять разным требованиям.
1
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
04.02.2015, 19:39  [ТС] 5
Хорошо, спасибо.
Просто думал, что есть что-то похожее на хэш в Java.

Нашел вот такой код:
C++
1
2
3
4
5
6
7
int hash(const char *str)
{
    int h = 0;
    while (*str)
       h = h << 1 ^ *str++;
    return h;
}
Правильно ли я понимаю, что она принимает значения от -2^63 -1 до 2^63 -1 ?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.02.2015, 19:46 6
Нет. Она принимает строку.
1
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
04.02.2015, 19:47  [ТС] 7
ммм... а в каких пределах тогда ее значение?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.02.2015, 19:49 8
А, возвращает. https://www.cyberforum.ru/cgi-bin/latex.cgi?-\left(2^{31}\right)..2^{31}-1.
1
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
04.02.2015, 19:58  [ТС] 9
благодарю!
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
04.02.2015, 22:32 10
Лучший ответ Сообщение было отмечено KOPOJI как решение

Решение

Извините, что я вот с эдаким пылом юного ниспровергателя врываюсь в уютную беседу, но функция таки есть, хотя и implementation-defined:
std::hash
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.02.2015, 22:32
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru