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

C++

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

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

23.02.2011, 15:29. Просмотров 1702. Ответов 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)
заранее спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2011, 15:29     Хеширование
Посмотрите здесь:

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

Наследование, классы, хеширование - C++
есть у кого простые задачи на эти темы? у меня задания нет, нужны любые... по поиску полазил- не нашёл ничего лёгкого=(

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

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

Хеширование двух байтов в один - C++
Здравствуйте, возможно ли хеширование двух байтов в один, если да, то смогу ли я путем подбора/брутфорса получить из этого одного байта...

Закрытое хеширование с двойным опробованием - C++
Помогите, пожалуйста! Очень нужна ХЕШ-функция с двойным хешированием. В интернете информации очень мало, ни одного примера. Реализация на...

Хеширование строк большого файла - C++
Здравствуйте! Помогите, пожалуйста разобраться с процессом хеширования. Задача состоит в том, что мне дан текстовый файл примерно в 100Мб...

Хеширование: реализовать пользовательский поиск ключа - C++
Всем привет! Ребята очень нуждаюсь в вашей помощи. Есть хеш функция: #include <iostream> #include <time.h> using namespace...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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