Подтвердить что ты не робот

"multiset" и "multimap" - какой смысл?

Как говорится в вопросе... Я не понимаю смысла multiset s/multimap s.

Итак, какова цель?

4b9b3361

Ответ 1

Некоторые варианты использования:

MultiMap

  • С почтовым индексом в качестве ключа все люди, у которых есть этот почтовый индекс
  • С идентификатором учетной записи в качестве ключа все открытые ордера этого лица/учетной записи
  • Словарь, по каждому ключевому слову различные объяснения

мультимножеством

по существу представляет собой карту с ключом и целым числом.

  • В инвентаре магазина все продукты имеют свой ключ и сумму все еще доступно значение
  • накопленные данные о продажах магазина, каждый раз, когда продукт продается идентификатор продукта добавляется в мультимножество, тем самым увеличивая количество проданных товаров.

Ответ 2

Один пример, когда многомаровая карта была бы полезна, если бы у вас была ситуация, когда большинство ключей были уникальными, но иногда они не являются.

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

Другим примером может быть любой нестандартный индекс (например, в базе данных).

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

Ответ 3

Мультимножество или мультимап - это просто для ситуаций, когда может быть более одного определенного элемента. Например, допустим, вы хотели создать индекс для книги. Вы просматриваете текст, выкидываете все действительно общие бессмысленные слова ( "a", "an", "the" и т.д.), А затем составляете список всех остальных и место в книге, где каждый произошло.

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

Ответ 4

http://www.cplusplus.com/reference/stl/multimap/

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

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

Ответ 5

Здесь Wikipedia говорит о пользе:

  • В системе регистрации учащихся, где учащиеся могут быть зачислены одновременно несколько классов может быть ассоциацией для каждого зачисление студента в курс, где ключ - это идентификатор студента и значение - это идентификатор курса. Если студент зарегистрирован на трех курсах, будут три ассоциации содержащий тот же ключ.
  • Индекс книги может сообщать любое количество ссылок для данного индекса и, следовательно, может быть закодирован как multimap от индексных терминов к любому количество ссылочных позиций

Ответ 6

Используйте multimap, где бы вы ни хотели использовать структуру дерева.