LINUX.ORG.RU

Ответ на: комментарий от hippi90

Ему не значение по ключу, а наоборот. Но это эммммм да можно построить обратню хештаблю, но если есть 353 ключа со значением «Маша» то по значению «Маша» будет 353 коллизии в обратной табле. Или он имел в виду найти значением по ключу всё же.

anonymous
()
Ответ на: комментарий от anonymous

Да, заводим вторую таблицу value -> key или value -> key[]. Да, дублирование данных, но тут уж или трусы или крестик. Либо скорость, либо память.

hippi90 ★★★★★
()
Ответ на: комментарий от vtVitus

А, не. Там же итерация по значениям.

dnb ★★★★
() автор топика
Последнее исправление: dnb (всего исправлений: 1)

Я не знаю Go, но почему нельзя написать такой контейнер самому, если нужен такой функционал? Хотя бы на основе обычного map.

pathfinder ★★★★
()

Есть ли красивое решение без итерирования всех ключей и сравнивания значений?

го не знаю и не хочу. но если там есть какое-то это отображение ключей на некие обьекты, типа map, то обратное отображение неоднозначно, поскольку разные ключи могут отображаться на один обьект.

alysnix ★★★
()

Тебе нужно выбрать правильную структуру данных, а го или не го - это уже второй вопрос)

nikolnik ★★★
()
Ответ на: комментарий от pathfinder

Потому что обычный map это итерация.

for k,v := range map { if v == some { then } }

dnb ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.