mru*_*ueg 11 haskell map range intervals data-structures
是否有一个Haskell库允许我从范围到值有一个Map?(优选有点效率.)
let myRangeMap = RangeMap [(range 1 3, "foo"),(range 2 7, "bar"),(range 9 12, "baz")]
in rangeValues 2
==> ["foo","bar"]
Run Code Online (Sandbox Code Playgroud)
也许rangemin图书馆做你想要的?
好老Data.Map(及其更高效的Data.IntMap堂兄)有一个功能
splitLookup :: Ord k => k -> Map k a -> (Map k a, Maybe a, Map k a)
Run Code Online (Sandbox Code Playgroud)
它将地图分成小于/大于给定键的键的子图.这可以用于某些范围的搜索.
我写了一个库来重叠间隔搜索,因为现有的库不符合我的需要.我认为它可能比SegmentTree具有更平易近人的界面:
http://www.chr-breitkopf.de/comp/IntervalMap/index.html
它也可以在Hackage上找到:http://hackage.haskell.org/package/IntervalMap
| 归档时间: |
|
| 查看次数: |
1369 次 |
| 最近记录: |