【发布时间】:2013-10-25 05:23:38
【问题描述】:
我试图了解寻找中位数的选择算法。我已经粘贴了下面的伪代码。
SELECT(A[1 .. n], k):
if n<=25
use brute force
else
m = ceiling(n/5)
for i=1 to m
B[i]=SELECT(A[5i-4 .. 5i], 3)
mom=SELECT(B[1 ..m], floor(m/2))
r = PARTITION(A[1 .. n],mom)
if k < r
return SELECT(A[1 .. r-1], k)
else if k > r
return SELECT(A[r +1 .. n], k-r)
else
return mom
我有一个非常琐碎的疑问。我想知道作者上面写的 i
【问题讨论】:
-
这可能意味着他只会排序并选择中间值。也许发布你得到这个的网站
-
是的。蛮力将使用类似于选择排序的算法来找到中间值。
标签: algorithm brute-force median-of-medians