【发布时间】:2013-06-20 01:04:45
【问题描述】:
我正在编写一个将生成大量数据的程序。我想找到该数据的各种百分位数。
这样做的明显方法是将数据存储在某种排序的容器中。是否有任何 Haskell 库提供自动排序的容器并提供对任意索引的快速随机访问?
另一种方法是使用无序容器并在最后执行排序。我不知道这是否会更快。无论哪种方式,我们仍然需要一个提供快速随机访问的容器。 (一个数组,也许……)
建议?
(另一种选择是构建直方图,而不是将整个数据集保存在内存中。但由于目标是非常准确地计算百分位数,我不愿意走这条路。我也不知道我的数据范围,直到我生成它...)
【问题讨论】:
-
stackoverflow.com/questions/1248815/… 中描述的流式算法是否满足您的需求?
-
@JeffFoster 这似乎与我正在尝试做的事情有关。我不确定这种方法是否可行,但值得研究。
标签: algorithm haskell containers