187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
1 | |
Hash - таблица21.06.2013, 20:46. Показов 1388. Ответов 11
Метки нет (Все метки)
Собственно всегда считал, что map - обычная хеш-таблица, оказалось нет, это какое-то древовидная упорядоченная хэш-таблица (без понятия, как это, но в общем сложность O(logN) на вставку, удаление и поиск.
Для моей задачи было бы предпочтительнее использовать обычную хеш-таблицу со сложностью O(1). Вопрос: есть ли она (хеш-таблица с O(1) ) в STL и что за "древовидная упорядоченная" map?
0
|
21.06.2013, 20:46 | |
Ответы с готовыми решениями:
11
Hash+++ Std::hash<.> PERFECT HASH FUNCTION Консольный HASH под *nix |
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
21.06.2013, 20:50 | 2 |
@nexen, она реализована на К.Ч. деревьях - бинарные деревья с автобалансировкой. Можете почитать про них на досуге где-нибудь.
hash Добавлено через 2 минуты std::unordered_set на ней основан, поиск в среднем за O(1)
1
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
22.06.2013, 07:31 [ТС] | 3 |
@MrGluck, но та ссылка, что вы дали, рассказывает о функции, что считает хэш, а не о контейнере, который позволяет по ключу (хешу) получить элемент/ы
0
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
22.06.2013, 18:49 [ТС] | 5 |
@MrGluck, то есть в 3-ке нету хеш-таблиц? :0 Вообще?
0
|
Ушел с форума
|
|
22.06.2013, 19:13 | 7 |
По стандарту - нет. Но в некоторых реализациях хэш-таблицы все же есть.
Например, в Microsoft C++ Compiler им уже лет десять от роду, не меньше. Правда, они не стандартны, так что переносимость не гарантируется.
1
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
22.06.2013, 19:17 [ТС] | 8 |
@Убежденный, @MrGluck, а у boost разве переносимость гарантируется?
0
|
Ушел с форума
|
|
22.06.2013, 19:20 | 9 |
1
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
22.06.2013, 20:52 [ТС] | 11 |
@MrGluck, ну мало ли что..
0
|
Каратель
|
|
22.06.2013, 21:13 | 12 |
0
|
22.06.2013, 21:13 | |
22.06.2013, 21:13 | |
Помогаю со студенческими работами здесь
12
Hash. Не получается написать хэш Перегрузить операторы = и [] для hash списки, вектора, map, Hash multi-hash -массив с несколькими индексами Таблица умножения - таблица размера n строк на m столбцов, на пересечении i-ой строки и j-ого столбца стоит число i*j Error C2338: The C++ Standard doesn't provide a hash for this type Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |