【问题标题】:Java implementation of quickselect-median [closed]快速选择中位数的Java实现[关闭]
【发布时间】:2014-05-16 13:06:05
【问题描述】:

有实现

http://www.java-tips.org/java-se-tips/java.lang/quickselect-implementation-with-median-of-three-partitioning-and-cutoff.html

使用 Scala 语法

val arr = Array[Comparable[_]](1, 7, 10, 11, 3, 6, 0, 2, 9, 4, 8, 5)
quickSelect(arr, 6)
println(s"${arr.mkString(" ")} | ${arr(6)}")

然后输出:1 4 2 0 3 5 11 10 9 7 8 6 | 11.所以,中位数是 11 而不是 6。有人知道实现中的错误是什么吗?

【问题讨论】:

    标签: java algorithm median


    【解决方案1】:

    您提供的链接表明

    * Quick selection algorithm.
    * Places the kth smallest item in a[k-1].
    

    从零开始的数组中的第 6 个元素是 a[5]

    【讨论】:

    • 你说的太对了...我应该休息一下...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    相关资源
    最近更新 更多