我正在編寫一個程序,它將生成一堆數據。我想找到關於這些數據的各種百分數。計算百分點
這樣做的顯而易見的方法是將數據存儲在某種排序的容器中。是否有任何Haskell庫提供了一個自動排序的容器,並提供對任意索引的快速隨機訪問?
另一種方法是使用無序容器並在最後執行排序。我不知道這是否會更快。無論哪種方式,我們仍然需要一個提供快速隨機訪問的容器。 (一個數組,也許......)
對此有何建議? (另一種選擇是建立一個直方圖,而不是將整個數據集保存在內存中,但是由於目標是非常精確地計算百分位數,所以我不願意沿着這條路線走下去,我也不知道我的數據範圍,直到我生成它...)
流媒體算法,如http://stackoverflow.com/questions/1248815/percentiles-of-live-data-capture中描述的算法是否滿足您的需求? –
@JeffFoster這似乎與我想要做的事情有關。我不確定這種方法是否可行,但值得研究。 – MathematicalOrchid