标签: haskell functional-programming frege bimap
我有一张地图,其中多个键可以映射到相同的值。我想做反向查找,这样给定一个值,我得到一个映射到这个值的所有键的列表。 请注意,不像 Data.Bimap我的地图不是1:1,而是 n :1。
Data.Bimap
此外,反向查找不应该像 O(n)一样运行所有映射条目需要而是 O(log n)或更好,就像反向指数。该地图将包含许多成千上万的条目,其中包含大量添加/删除/查找操作。
这种数据结构是否以功能形式提供(Haskell或Frege首选)?