相关疑难解决方法(0)

计算十亿数字的中位数

如果您有十亿个数字和一百台计算机,那么找到这些数字的中位数的最佳方法是什么?

我的一个解决方案是:

  • 在计算机之间平均分割集合.
  • 排序他们.
  • 找到每组的中位数.
  • 对中位数进行排序.
  • 从最低到最高中位数一次合并两组.

如果我们m1 < m2 < m3 ...先进行合并Set1,Set2并在结果集中我们可以丢弃低于Set12(合并)中位数的所有数字.所以在任何时候我们都有相同大小的集合.顺便说一下,这不能以并行方式完成.有任何想法吗?

algorithm distributed-computing

123
推荐指数
8
解决办法
4万
查看次数

找到未排序的未排序数组的中位数

有没有办法找到未排序数组的中位数:1-没有排序它.2-不使用选择算法,也不使用中位数的中位数

我发现了许多类似于我的其他问题.但是解决方案,其中大部分,如果不是全部,都讨论了SelectProblem和MedianOfMedians

arrays algorithm median

4
推荐指数
2
解决办法
2万
查看次数

如何从排序列表中选择第二个最小元素?

如何在列表排序后选择第二个最小元素?

使用此代码我收到错误,我不明白为什么.

object find_the_median {
  val L = List(2,4,1,2,5,6,7,2)

  L(2)
  L.sorted(2) // FIXME returns an error
}
Run Code Online (Sandbox Code Playgroud)

scala

1
推荐指数
1
解决办法
351
查看次数

在具有N个元素的整数数组中,找到最小的k个元素?

可能重复:
用于进行k选择的最坏情况O(n)算法

鉴于以下问题:

In an integer array with N elements , find the minimum k elements (k << N)
Run Code Online (Sandbox Code Playgroud)

你可以假设这N是一个很大的数字.

我在考虑最小堆,任何人都有更好的解决方案?

问候

arrays algorithm numbers

0
推荐指数
1
解决办法
1664
查看次数