多重關連數組

計算機科學中,多重關連數組(英語:multimap),是一種抽象資料結構,它儲存著(鍵,值)的有序對,和map不同之處在於,多重關連數組的有序對可以重複。通常,多重關連數組是利用在map中使用串列集合當作值的欄位。

這種數據結構包含以下幾種常見操作:
  • 向關聯數組添加配對
  • 從關聯數組內刪除配對
  • 修改關聯數組內的配對
  • 根據已知的鍵尋找配對

使用模式

  • 當需要對一同一個鍵值儲存大量資料時,可以使用多重關連數組。
  • 舉例來說,在學生選課系統中,一個學生可以選擇多門課程,可以使用多重關連數組,將有序對(學生ID, 課程ID)存入多重關連數組中。

語言支持

C++

C++標準模板庫提供利用平衡樹來實作多重關連數組,[1] ,且SGI的標準模板庫提供了利用雜湊表hash_multimap [2]

Dart

Quiver提供。[3]

參見

參考文獻

  1. ^ "multimap<Key, Data, Compare, Alloc>"頁面存檔備份,存於網際網路檔案館).
  2. ^ "hash_multimap<Key, HashFcn, EqualKey, Alloc>"頁面存檔備份,存於網際網路檔案館).
  3. ^ "Multimap"頁面存檔備份,存於網際網路檔案館).