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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
akosh12345
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 11
#1

Хеширование - C++

23.02.2011, 15:29. Просмотров 1707. Ответов 0
Метки нет (Все метки)

Уважаемые коллеги программисты. Мне нужна ваша помощь. Дело в том что я сейчас работаю над одним модулем. В нем я выделяю динамически память. И все эти куски храню в хэш таблице. Проводил тест. Создал хэш таблицу из 100 000 элементов(округлял до простого числа в большую сторону). И выделял память для 100 000 указателей.
К хеш функции отправлял адресс выделенной памяти. Как работала хэш функция: Я переводил адресс в usigned long и брал остаток от деления. Вот что получилось
0 - 35555
1 - 38328
2 - 19205
3 - 5855
4 - 1175
5 - 173
6 - 22
7 - 0
8 - 0
9 - 0
10 - 0
то есть у меня 35555 свободных ячеек в хеш таблице и так далее.
Согласитесь это очень не выгод. Больше 30% таблицы не используется. И эта цифра будет расти с увеличением хэш таблицы.

Провывал использовать CRC. Вот результат с теми же данными
0 - 37003
1 - 36971
2 - 18320
3 - 6115
4 - 1543
5 - 300
6 - 56
7 - 4
8 - 1
9 - 0
10 - 0

Провыбал использовать MD4 вот результат
0 - 36906
1 - 37025
2 - 18454
3 - 6055
4 - 1529
5 - 290
6 - 44
7 - 9
8 - 0
9 - 1
10 - 0
хотя здесь работают непосредственно с битами.


Помогите найти такую хэш функцию, которая хотя бы снизила количество неиспользуемых ячеек до 10%.
Или направить на путь!!!
Повторяюсь к хэш таблице приходят адресса памяти(к сведению они кратны 4)
заранее спасибо!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2011, 15:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Хеширование (C++):

Хеширование и поиск - C++ Builder
чем простой поиск отличается от поиска с использованием хеширования? своими словами можно более простыми и ясными примерами?

Хеширование - C++
Помогите, пожалуйста.Поиск в хеш-таблицах. Написать класс Group. В группу должны входить студенты, содержащие следующие данные: -фамилия ...

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

Хеширование - C++
У меня есть вариант хешировани данных для ГОСТ 28147-89. Помогите ее переделать под ГОСТ Р 34.11-94. вот...

Хеширование - C++
1. Реализовать интерактивное приложение со следующей функциональностью, использующее вышеописанный модуль. a. Создание хеш-таблицы...

Хеширование - C++
1. Реализовать интерактивное приложение со следующей функциональностью, использующее вышеописанный модуль. a. Создание хеш-таблицы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2011, 15:29
Привет! Вот еще темы с ответами:

Хеширование файлов - C++
Доброго времени суток) Я в этой теме пока мало что понимаю, но может мне может кто то объяснить, как хешируются файлы (такие как .exe)....

Хеширование строки - C++
Всем привет! Знаю што на си++ можно захешыровать строку в алгоритм md5 несколькима способами, нашел код хешырования на чистом си, но...

Хеширование чисел - C++
Здравствуйте, прочел пост taras atavin И стало интересно, действительно ли такое можно сделать ? реально ли хешировать число до 70...

открытое хеширование - C++
помогите запустить программу ошибка в 13 строке. #include <stdio.h> #include <stdlib.h> #include <stdbool.h> typedef struct...


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

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

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