最佳随机比较排序


12

所以,大家都知道比较树下界关于(确定性)比较排序算法进行的最坏情况下的比较。它不适用于随机比较排序(如果我们测量最坏情况输入的预期比较)。例如,对于n = 4,确定性下限是5个比较,但是随机算法(随机置换输入,然后应用合并排序)效果更好,具有4 2log2n!n=4所有输入的期望值进行 3个比较。423

根据信息理论,无上限的约束仍然适用于随机情况,并且可以将其稍微拧紧到 k + 2 n 2 klog2n! 这是因为存在一种最优算法,该算法会随机排列输入,然后应用(确定性)决策树,而最佳决策树(如果存在)是其中所有叶子都处于两个连续级别中的最优决策树。

k+2(n!2k)n!, where k=log2n!.

如果知道此问题的上限怎么办?对于所有,比较的随机数(期望,对于最坏情况的输入,对于最佳可能的算法)始终严格比最佳确定性算法好(本质上,因为n 永远不是2的幂)。 。但是好多少呢?n>2n!


lg(n!)+o(n)

Answers:


4

由于您的问题是:“已知什么?” 这里有一些东西:

http://arxiv.org/abs/1307.3033

logn!+cnc


nlogn1.415nnlogn1.399n

我不是专家,对此我唯一了解的原因是John Iacono。不过我认为,这与波动有关,波动取决于n与2的幂的接近度(4/3倍)。如果您在此处查看第71页的分析,请访问link.springer.com/content/pdf /10.1007%2FBF01934989.pdf,-1.415n边界似乎仅在某些整数k的n = floor((4/3)2 ^ k)时成立。也许Knuth中的-1.329n是所有n的最佳值?
帕特莫林

肯定会有波动,但是我认为(4/3)2 ^ k是最坏的情况,其他情况下更好。
David Eppstein
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.