gpt4 book ai didi

java - 更新分位数而不是重新计算

转载 作者:行者123 更新时间:2023-12-02 00:10:23 25 4
gpt4 key购买 nike

是否有一个 Java 库允许我通过添加/删除数据点来更新而不是重新计算大型样本数据集的分位数?我的猜测是,高效的算法应该花费恒定的时间进行更新(而不是现有点数的函数)。

列出了已知算法,但没有从样本集中删除点的方法:

这是一个示例问题:假设我想计算一组风车的任意但恒定的百分位数风扇速度(作为风速的估计)。风扇速度每隔几毫秒异步更新一次。这个库应该允许我一次更新一台风车的风速,而不必重新计算中值。

最佳答案

如果您维护数据的可更新排序表示,则只需使用数组的长度即可轻松高效地获取分位数。例如,如果有 N 个元素,则中位数将位于位置 N/2,依此类推。当您将新元素插入数据结构时,这仍然有效。效率仅取决于插入新元素。

关于java - 更新分位数而不是重新计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12939179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com