Knuth的《计算机编程艺术》第三章(第5章,第3.2节)包括下表,该表列出了从大小为的未排序集合中选择第个最小元素对所有所需的确切最小比较数。。该表中,与公知的封闭形式的表达式沿和,表示大部分的现有技术的状态的作为1976年。Ñ 1 ≤ 吨≤ Ñ ≤ 10 V 1(Ñ )= ñ - 1 V 2(Ñ )= ñ - 2 + ⌈ Ñ / 2 ⌉
在过去的36年中,是否还计算了更精确值?我对精确值特别感兴趣,这是计算中位数所需的最小比较数。中号(Ñ )= V ⌈ ñ / 2 ⌉(Ñ )
正如@MarkusBläser指出,Knuth的表似乎已经包含了来自比尔Gasarch,韦恩·凯利,和比尔·皮尤最近的结果(找到的第i个最大的n个为小I,N。SIGACT新闻 27(2):88-96,1996年)
2
我认为,有关该主题的最著名的论文是Pratt和Yao(1976)的论文,他们被认为是最早发现某种(对抗性)技术来证明这一问题下限的技术之一。如果我要找到有关该主题的最新论文,我将遵循对该论文的引用。最近的论文是Dor和Zwick的论文,但Paterson也在1996年进行了一次调查(尽管我没有看到它是否涉及确切的结果)。
—
热雷米
细说:在问题的最后一句中,您可能指的是天花板而不是地板。
—
伊藤刚(Tsuyoshi Ito)
杰夫(Jeff)很好奇,为什么您对确切的答案感兴趣。
—
Chandra Chekuri 2012年
肯尼斯·奥克萨嫩(Kenneth Oksanen)编写了一个有效的代码来计算。不幸的是,只有一个摘要可以使用sciencedirect.com/science/article/pii/S1571065306001582两年前,我的一个学生给他发送了一封电子邮件,并从他那里获得了代码。我不记得是否可以获得一些新的价值。
—
马库斯·布拉瑟(MarkusBläser),2012年
@ChandraChekuri:我正在研究Blum-Floyd-Pratt-Rivest-Tarjan线性时间选择算法的变体,作为潜在的算法作业问题。如果我们使用最小比较算法来找到每个块的中位数,那么什么块大小可以在big-Oh中为我们提供最佳常数?9胜于7胜于5; 那11点呢?
—
杰夫·杰夫·2012年