"multiset" и "multimap" - какой смысл?
Как говорится в вопросе... Я не понимаю смысла multiset
s/multimap
s.
Итак, какова цель?
Ответы
Ответ 1
Некоторые варианты использования:
MultiMap
- С почтовым индексом в качестве ключа все люди, у которых есть этот почтовый индекс
- С идентификатором учетной записи в качестве ключа все открытые ордера этого лица/учетной записи
- Словарь, по каждому ключевому слову различные объяснения
мультимножеством
по существу представляет собой карту с ключом и целым числом.
- В инвентаре магазина все продукты имеют свой ключ и сумму
все еще доступно значение
- накопленные данные о продажах магазина, каждый раз, когда продукт продается
идентификатор продукта добавляется в мультимножество, тем самым увеличивая количество проданных товаров.
Ответ 2
Один пример, когда многомаровая карта была бы полезна, если бы у вас была ситуация, когда большинство ключей были уникальными, но иногда они не являются.
Например, если вы создавали класс кеша, который использовал хэш в качестве ключа. В большинстве случаев у двух разных объектов не будет одинакового хеша, поэтому ключи будут уникальными. Но возможно, что вы получите хеш-коллизии для разных объектов, поэтому вам нужно, чтобы мультиплеер покрывал эту ситуацию.
Другим примером может быть любой нестандартный индекс (например, в базе данных).
Что касается мультимножества - я думаю, что это было бы менее полезно. Единственное, что я могу придумать, - использовать его как своего рода автоматически отсортированный список.
Ответ 3
Мультимножество или мультимап - это просто для ситуаций, когда может быть более одного определенного элемента. Например, допустим, вы хотели создать индекс для книги. Вы просматриваете текст, выкидываете все действительно общие бессмысленные слова ( "a", "an", "the" и т.д.), А затем составляете список всех остальных и место в книге, где каждый произошло.
Несколько слов будут отображаться на более чем одной странице, и в этом случае у вас будет несколько записей, сопоставляемых с одного слова на разные страницы. Один из способов справиться с этим - это мультиплеер от слов к номерам страниц.
Ответ 4
http://www.cplusplus.com/reference/stl/multimap/
Карты - это своего рода ассоциативный контейнеры, в которых хранятся элементы комбинацией ключевого значения и отображаемое значение, похожее на карту контейнеров, но элементы имеют одинаковое значение ключа.
Это своего рода реестр, в котором элементы могут делиться ключом. Вы можете думать о компаниях и сотрудниках. Уличный адрес - это ключ, а сотрудники - значения.
Ответ 5
Здесь Wikipedia говорит о пользе:
- В системе регистрации учащихся, где учащиеся могут быть зачислены одновременно несколько классов может быть ассоциацией для каждого зачисление студента в курс, где ключ - это идентификатор студента и значение - это идентификатор курса. Если студент зарегистрирован на трех курсах, будут три ассоциации содержащий тот же ключ.
- Индекс книги может сообщать любое количество ссылок для данного индекса и, следовательно, может быть закодирован как multimap от индексных терминов к любому количество ссылочных позиций
Ответ 6
Используйте multimap, где бы вы ни хотели использовать структуру дерева.