【发布时间】:2010-05-01 16:42:10
【问题描述】:
我正在阅读 M.Mitzenmacher 和 E.Upfal 的“Probability and Computing”。我无法理解如何计算两个元素的比较概率。
输入: 排序的数字列表 (y1,y2,...,yN)。我们正在寻找枢轴元素(随机)。问题:两个元素 yi 和 yj (j>i) 被比较的概率是多少?
答案(来自书本): yi 和 yj 将被比较,如果 yi 或 yj 将被选为从序列的第一次抽签中的枢轴 (yi,yi+1,...,yj- 1,yj)。所以概率是:2/(j-i+1)。
对我来说问题是最初的主张:例如,从整个列表的第一次抽签中选择 yi 将导致与 yj 进行比较(反之亦然),概率为 2/n。
因此,“反向”声明是正确的——在 yi 或 yj 之前不能选择 (yi+1,...,yj-1) 元素,但“池”大小不固定 (在第一次绘制时它肯定是 N,但在第二次绘制时它更小)。
有人能解释一下作者是如何得出如此简单的结论的吗?
Edit1:一些好心人完善了我的帖子,谢谢 :-)。
Edit2:列表最初是排序的。
【问题讨论】:
标签: algorithm probability quicksort