algorithm - O(log n) 中的中值算法

标签 algorithm median

我们如何去除时间复杂度为 O(log n) 的集合的中位数?一些想法?

最佳答案

如果集合已排序,找到中位数需要 O(1) 项检索。如果项目的顺序是任意的,则在不检查大多数项目的情况下将无法确定地识别中位数。如果检查了大部分但不是全部项目,则可以保证中位数在某个范围内 [如果列表包含重复项,上限和下限可能匹配],但检查大部分列表中的项目意味着 O(n) 项检索。

如果集合中的信息未完全排序,但某些排序关系已知,则所需时间可能需要 O(1) 到 O(n) 项检索之间的任何时间,具体取决于信息的性质已知的排序关系。

关于algorithm - O(log n) 中的中值算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3632297/

相关文章:

algorithm - map reduce算法的并行效率计算公式是什么?

c++ - 按特定顺序排列 vector 元素

algorithm - 如何生成不是现有单词的变位词的不存在单词?

java - ArrayList<Double> 到 double[] 有 3 亿个条目

java - 我不知道如何为冒泡排序java定义变量

c - 如果 Arduino 的库有 32 位限制,我如何在 Arduino 上输出 64 位数字?

c# - 识别矩形

java - 选择算法以在 O(n) 中查找出现次数超过 n/2 的元素

python - 如何在具有偶数个条目的numpy掩码数组中获得单个中位数

algorithm - 如何在不保存整个数组且空间不变的情况下计算排序数组的精确中位数?