【问题标题】:what is meaning expected value(math) and what reason behind it in quickSort?什么是期望值(数学)以及快速排序背后的原因是什么?
【发布时间】:2019-11-03 19:17:02
【问题描述】:

我需要帮助来解释 Quicksort algorithm description in the Clrs book, page 157

我的问题覆盖在页面截图中。 这个公式是关于QiuckSort算法的。

  1. E[X] 背后是什么(逻辑)...我的意思是在快速入门中作者编写了这个公式时发生了什么?
  2. 给定 n=3,结果为 8,可以,但 8 在快速排序中的语义是什么意思?

【问题讨论】:

标签: algorithm math computer-science clrs


【解决方案1】:

为了理解你引用的书中的分析,你需要理解概率论中的一些概念。

我们想确定快速排序的平均比较次数。

我们定义了一些随机变量。如果比较 z_i 和 z_j,则 X_ij = 1,否则为 0。 X 是所进行比较总数的随机变量。因此 X = X_ij 的 i 和 j 的和。

E[X] 是 X 的预期值,即“平均”值。期望是线性的,因此总和的期望等于期望的总和。这就是本书得出的结论,即平均比较次数等于 E[X_ij] 的 i 和 j 的总和。由于 X_ij 要么为 0 要么为 1,因此其期望值与比较 z_i 和 z_j 的概率相同。

如果您在执行此操作时仍然遇到问题,则需要阅读概率、随机变量和预期值。

【讨论】:

  • 谢谢...但我不明白这是什么意思:我们定义了一些随机变量。如果比较 z_i 和 z_j,则 X_ij = 1,否则为 0?
  • 我们将对列表 z_1、z_2、...、z_n 进行排序。所以 z_i 和 z_j 只是列表的任意两个任意元素。例如,如果算法在某个时刻比较 z_7 和 z_23 以查看哪个应该首先出现在排序列表中,则 X_7,23 = 1。如果不是,则 X_7,23 = 0。如果我们将这些 X_ij 与所有值相加i 和 j 的比较,我们得到比较的总数。
  • (既然 X_ij 是 0 或 1 )为什么介于 0 或 1 之间?
  • 不在 0 或 1 之间,正好为 0 或正好为 1。这只是将二进制事件(发生或不发生的事情)编码为随机变量的一种方式。这部分分析的重点只是表明,如果我们知道列表中任意两个元素被比较的概率,那么我们就可以确定执行的平均比较次数。
  • 是的,非常感谢,我不懂随机变量,我需要了解更多信息!如果我像 StackOverflow 中的这个问题一样提问。你觉得我会吗?
猜你喜欢
  • 1970-01-01
  • 2011-06-20
  • 1970-01-01
  • 2020-02-15
  • 2018-08-31
  • 2020-01-26
  • 2016-03-31
  • 2019-01-04
  • 1970-01-01
相关资源
最近更新 更多