在計算機科學中,多重關連數組(英語:multimap),是一種抽象資料結構,它儲存著(鍵,值)的有序對,和map不同之處在於,多重關連數組的有序對可以重複。通常,多重關連數組是利用在map中使用串列或集合當作值的欄位。
這種數據結構包含以下幾種常見操作:
- 向關聯數組添加配對
- 從關聯數組內刪除配對
- 修改關聯數組內的配對
- 根據已知的鍵尋找配對
使用模式
- 當需要對一同一個鍵值儲存大量資料時,可以使用多重關連數組。
- 舉例來說,在學生選課系統中,一個學生可以選擇多門課程,可以使用多重關連數組,將有序對(學生ID, 課程ID)存入多重關連數組中。
语言支持
C++
C++的標準模板庫提供利用平衡樹來實作多重關連數組,[1] ,且SGI的標準模板庫提供了利用雜湊表hash_multimap
[2]
Dart
由Quiver提供。[3]
參見
參考文獻
- ^ "multimap<Key, Data, Compare, Alloc>" (页面存档备份,存于互联网档案馆).
- ^ "hash_multimap<Key, HashFcn, EqualKey, Alloc>" (页面存档备份,存于互联网档案馆).
- ^ "Multimap" (页面存档备份,存于互联网档案馆).