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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программные средства автоматической генерации тест-кейсов http://www.cyberforum.ru/cpp/thread247278.html
Всем доброе время суток! Возникла проблема с написанием дипломной работы. Тема работы "Программные средства автоматической генерации тест-кейсов". Так как в тестирование не очень силен, может кто-то...
C++ Как программно вытянуть инфу о железе на с++ Пардон за флуд, не увидел раздел. Задача вытянуть инфу о железе, т.е. тип,модель, объем по каждой комплектухи, на с++. Буду рад любым идеям, чирканите хоть в какую сторону копать. з.ы. просьба... http://www.cyberforum.ru/cpp/thread246460.html
C# Есть работа (сервер клиент) C++
Есть программа нужно немножко переделать и добавтить кое какие функции Сервер и клиент! Имееться исходник на прогу. ICQ : 639269775 mail: Leo_need92@bk.ru
C++ С++ гаджет для Windows SideBar
Снова привет) Расскажите кто знает как можно написать гаджет для Windows SideBar на С++, всё перерыл, везде только на HTML. Может кто подскажет, желательно не на английском, его я пока не достаточно...
C++ Вывод процесса в стрим http://www.cyberforum.ru/cpp/thread245944.html
У меня есть следующий код, который я затем использую для CreateProcess(); STARTUPINFO info; ZeroMemory(&info, sizeof(STARTUPINFO)); info.wShowWindow = SW_HIDE; Какое значение должно быть у...
C++ конвертация строки TCHAR в BOOL ? Получаю параметр в виде строки "TRUE"\"FALSE" из ini, но ни как не получается его преобразовать в нормальный для переменной чекбокса вид. Даже если задавать параметр в виде "1"\"0" - atoi не понимает... подробнее

Показать сообщение отдельно
akosh12345
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 11

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

23.02.2011, 15:29. Просмотров 1714. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru