Haskell数据结构与键的高效不精确查找?

时间:2014-03-13 19:00:04

标签: haskell

我有Data.Time.Calendar.Day键入的数据,需要高效查找。有些日期丢失,当我尝试通过缺少的密钥查找时,我希望将数据附加到最近的现有密钥,有点像std::map::lower_bound

对可以执行此操作的现有库有何建议?我搜索了一会儿,只找到支持精确密钥查找的地图。

感谢。

2 个答案:

答案 0 :(得分:5)

您检查过Data.Map.Lazy了吗?特别是,我猜您可以使用函数lookupLElookupGT或类似函数。这些函数的复杂性是 O (log n ),Data.Map.Strict中存在类似的函数。

答案 1 :(得分:2)

Data.Map的{​​{3}}和splitLookup / findMin的合适组合将起到作用。