Jump to content

Мультикарта

В информатике мультикарта карты (иногда также мультихэш , мультидикт или мультисловарь ) — это обобщение или ассоциативного массива абстрактного типа данных , в котором более одного значения могут быть связаны и возвращены для данного ключа. И карта, и мультикарта являются частными случаями контейнеров (например, см. C++ стандартной библиотеки шаблонов Контейнеры ). Часто мультикарта реализуется как карта со списками или наборами в качестве значений карты.

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

Языковая поддержка

[ редактировать ]

C ++ Стандартная библиотека шаблонов предоставляет multimap контейнер для отсортированного мультикарты с использованием самобалансирующегося двоичного дерева поиска , [1] а обеспечивает расширение STL SGI hash_multimap контейнер, реализующий мультикарту с использованием хеш-таблицы . [2]

Начиная с C++11, стандартная библиотека шаблонов предоставляет unordered_multimap для неупорядоченного мультиотображения. [3]

Quiver предоставляет Multimap для Dart . [4]

Коллекции Apache Commons предоставляют интерфейс MultiMap для Java . [5] Он также предоставляет класс реализации MultiValueMap, который создает MultiMap из объекта Map и типа Collection. [6]

Google Guava предоставляет интерфейс Multimap и его реализации. [7]

Python предоставляет collections.defaultdict класс, который можно использовать для создания мультикарты. Пользователь может создать экземпляр класса как collections.defaultdict(list).

OCaml Модуль стандартной библиотеки Hashtbl реализует хеш-таблицу, в которой можно хранить несколько значений ключа.

реализации . API языка программирования Scala также предоставляет Multimap и [8]

См. также

[ редактировать ]
  • Мультисет для случая, когда один и тот же элемент может появляться несколько раз.
  1. ^ "multimap<Key, Data, Compare, Alloc>" . Руководство программиста стандартной библиотеки шаблонов . Силикон Графикс Интернэшнл .
  2. ^ «hash_multimap<Key, HashFcn, EqualKey, Alloc>» . Руководство программиста стандартной библиотеки шаблонов . Силикон Графикс Интернэшнл .
  3. ^ «Рабочий проект стандарта языка программирования C++» (PDF) . п. 7807.
  4. ^ «Мультикарта» . Документация по API Quiver .
  5. ^ «Интерфейс МультиКарта» . API коллекций Commons 3.2.2, Apache Commons .
  6. ^ «Класс MultiValueMap» . API коллекций Commons 3.2.2, Apache Commons .
  7. ^ «Мультикарта интерфейса<K,V>» . Библиотека Гуавы 2.0 . Архивировано из оригинала 15 января 2013 г. Проверено 1 января 2013 г.
  8. ^ "Scala.collection.mutable.MultiMap" . Стабильный API Scala .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0002e71afce1633277330a1e0f6147db__1715626500
URL1:https://arc.ask3.ru/arc/aa/00/db/0002e71afce1633277330a1e0f6147db.html
Заголовок, (Title) документа по адресу, URL1:
Multimap - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)