|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
Контейнер hash_map17.06.2013, 02:12. Показов 13727. Ответов 55
Метки нет (Все метки)
Здорова!
Нужно создать контейнер hash_map это тот же контейнер как и map, только он в разы иногда раз в 10-20 быстрее осуществляет поиск элементов по ключу чем стандартный контейнер map, поэтому если нужен быстрый поиск, то советуют использовать свой hash_map. В общем ребятки какой будет алгоритм создания? Я видел внутреннее представление этого контейнера, так там внутри просто два вектора, один с объектами, а второй с указателями. Интересно как же он работает или по какому алгоритму его строить? Это задачка из книги Страуструпа. Нужно потом будет еще создать hash_set, hash_multiset или я точно не помню еще какието.
0
|
|
| 17.06.2013, 02:12 | |
|
Ответы с готовыми решениями:
55
Контейнер на пободия hash_map. Hash_map unordered_map <hash_map> is deprecated and will be REMOVED |
| 19.06.2013, 14:20 | |
|
0
|
|
|
|
|||
| 19.06.2013, 22:35 | |||
Просто интересно - Страуструп в книге не объясняет за счет чего достигается такой прирост в скорости? В std::map доступ вроде как тоже через функцию хеширования.Добавлено через 8 минут
0
|
|||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
| 19.06.2013, 23:02 [ТС] | |
|
Kastaneda, Да а я думаю отличие в том что map это дерево, а vector это указатель и возможно поиск в дереве более затратный чем в списке. Хз. Я сам не сильно понял за счет чего производительность возрастает. Мне б щас хотябы запустить рабочую версию.
Да и вообще там написано что этот hash_map это просто в учебных целях нужно создать, а так на практике советует использовать коммерческий версии, либо версии в свободном доступе. Добавлено через 4 минуты Я хочу в учебных целях и для остальных деревьев посоздавать hash_multimap, hash_set и hash_multiset, вточь точ такие как их стд товарищи. Там дальше задачки будут, но без этого hash_map я остальные не смогу понять как делать, придется разбираться никуда не дется.
0
|
|
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 19.06.2013, 23:07 [ТС] | ||
|
Kastaneda, Так ты тоже Страуструпа читаешь щас и на том месте где я?
Добавлено через 2 минуты
0
|
||
|
|
|||||||||||||||
| 19.06.2013, 23:15 | |||||||||||||||
|
пример кода
Пример с msdn
Интуитивно могу предположить, что она испльзуется для определения "куда засунуть элемент в дереве". За подробностями можно обратиться в исходники map'а, но мне уже неохото)
0
|
|||||||||||||||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|||||||||||||||||||||
| 20.06.2013, 00:09 [ТС] | |||||||||||||||||||||
|
Ладно хватит флудить
я тут с unery_function разобрался продолжим дальше разбираться с примерам, будем исправлять ошибки.Файл hash_map.h:
:
1>------ Построение начато: проект: test, Конфигурация: Debug Win32 ------ 1> main.cpp 1>main.obj : error LNK2005: "public: unsigned int __thiscall Hash<char>::operator()(char const &)const " (??R?$Hash@D@@QBEIABD@Z) уже определен в hash_map.obj 1>main.obj : error LNK2005: "public: unsigned int __thiscall Hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::operator()(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (??R?$Hash@V?$basic_string@DU?$char_trai ts@D@std@@V?$allocator@D@2@@std@@@@QBEIA BV?$basic_string@DU?$char_traits@D@std@@ V?$allocator@D@2@@std@@@Z) уже определен в hash_map.obj 1>C:\test\test\Debug\test.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== Отетa от часть кода делает ошибку:
Добавлено через 22 минуты Как мне правильно без ошибок сделать специализацию шаблона??????
0
|
|||||||||||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 20.06.2013, 00:12 | |
|
ninja2, В .cpp файл унести специализацию.
1
|
|
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
| 20.06.2013, 00:16 [ТС] | |
|
ForEveR, Как оно неожиданно заработало.
0
|
|
|
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
|||||||||||||
| 20.06.2013, 00:25 | |||||||||||||
2
|
|||||||||||||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||||||||||||||||
| 20.06.2013, 11:59 [ТС] | ||||||||||||||||
|
Здорова!
Снова вылезла непонятная ошибка От файл hash_map.cpp:
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int & __thiscall hash_map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,struct Hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,struct equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std: air<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,int> > >::operator[](class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??A?$hash_map@V?$basic_string@DU?$char_ traits@D@std@@V?$allocator@D@2@@std@@HU? $Hash@V?$basic_string@DU?$char_traits@D@ std@@V?$allocator@D@2@@std@@@@U?$equal_t o@V?$basic_string@DU?$char_traits@D@std@ @V?$allocator@D@2@@std@@@@V?$allocator@U ?$pair@$$CBV?$basic_string@DU?$char_trai ts@D@std@@V?$allocator@D@2@@std@@H@std@@ @2@@@QAEAAHABV?$basic_string@DU?$char_tr aits@D@std@@V?$allocator@D@2@@std@@@Z) в функции _main1>C:\test\test\Debug\test.exe : fatal error LNK1120: 1 неразрешенных внешних элементов ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== Если я закомментирую определение функции operator[] в файле hash_map.cpp и определю ее в классе hash_map то этой ошибки нету. Наверно как то шаблон функции operator[]() ее определение как то не правильно определено?????
0
|
||||||||||||||||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 20.06.2013, 12:12 [ТС] | ||
|
0
|
||
|
|
||
| 20.06.2013, 12:45 | ||
|
Не по теме:
Добавлено через 12 минут
0
|
||
| 20.06.2013, 12:47 | |||
|
Не по теме: Kastaneda, Всецело верно.
0
|
|||
| 20.06.2013, 12:48 | |||||||
|
Не по теме:
Выбрали красно-черное потому, что оно является чем-то средним между BST и AVL.
0
|
|||||||
| 20.06.2013, 12:50 | |
|
Не по теме: Olivеr, libstdc++ не является стандартом, просто реализация, не более того.
0
|
|
| 20.06.2013, 12:51 | |
|
0
|
|
| 20.06.2013, 12:51 | |
|
Hash_Map Error (C2338) Stdext::hash_map и std::map Ошибка <hash_map> при выполнении программы Чем отличается map и hash_map в плюсах? контейнер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|