条件期望求解快速排序算法复杂度
Posted 鬼道2022
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件期望求解快速排序算法复杂度相关的知识,希望对你有一定的参考价值。
1 条件期望
定义1(条件期望):给定随机变量 X X X和 Y Y Y,则有如下条件期望 E [ X ] = E [ E [ X ∣ Y ] ] \\mathrmE[X]=\\mathrmE\\left[\\mathrmE[X|Y]\\right] E[X]=E[E[X∣Y]]如果 Y Y Y是离散随机变量,则有 E [ X ] = ∑ y E [ X ∣ Y = y ] P Y = y \\mathrmE[X]=\\sum\\limits_y\\mathrmE[X|Y=y]\\mathrmP\\Y=y\\ E[X]=y∑E[X∣Y=y]PY=y如果 Y Y Y是密度为 f Y ( y ) f_Y(y) fY(y)的连续随机变量,则有 E [ X ] = ∫ − ∞ ∞ E [ X ∣ Y = y ] f Y ( y ) d y \\mathrmE[X]=\\int_-\\infty^\\infty\\mathrmE[X|Y=y]f_Y(y)dy E[X]=∫−∞∞E[X∣Y=y]fY(y)dy
证明: 离散随机变量的证明方式与连续随机变量证明方式一致,具体的证明过程如下所示 ∑ y E [ X ∣ Y = y ] P ( Y = y ) = ∑ y ∑ x x P X = x ∣ Y = y P Y = y = ∑ y ∑ x x P X = x , Y = y P Y = y P ( Y = y ) = ∑ y ∑ x x P X = x , Y = y = ∑ x x ∑ y P X = x , Y = y = ∑ x x P X = x = E [ X ] \\beginaligned\\sum\\limits_y \\mathrmE[X|Y=y]\\mathrmP(Y=y)&=\\sum\\limits_y\\sum\\limits_xx \\mathrmP\\X=x|Y=y\\\\mathrmP\\Y=y\\\\\\&=\\sum\\limits_y \\sum\\limits_xx\\frac\\mathrmP\\X=x,Y=y\\\\mathrmP\\Y=y\\\\mathrmP(Y=y)\\\\&=\\sum\\limits_y\\sum\\limits_xx\\mathrmP\\X=x,Y=y\\\\\\&=\\sum\\limits_xx\\sum\\limits_y\\mathrmP\\X=x,Y=y\\\\\\&=\\sum\\limits_xx\\mathrmP\\X=x\\=\\mathrmE[X]\\endaligned y∑E[X∣Y=y]P(Y=y)=y∑x∑xPX=x∣Y=yPY=y=y∑x∑xPY=yPX=x,Y=yP(Y=y)=y∑x∑xPX=x,Y=y=x∑xy∑PX=x,Y=y=x∑xPX=x=E[X]证毕。
2 快速排序算法分析
假设有
n
n
n个不同的值
x
1
,
⋯
,
x
n
x_1,\\cdots,x_n
x1,⋯,xn的一个集合,将它们按照递增次序排序,完成它的一个有效的算法是快速排序算法。当
n
=
2
n=2
n=2时,该算法比较此二值,将它们置于合适的次序。当
n
>
2
n>2
n>2时,它开始在
n
n
n值中随机地选取一个,譬如
x
i
x_i
xi,然后将其它的
n
−
1
n-1
n−1个值与
x
i
x_i
xi比较,以
S
i
S_i
Si记小于
x
i
x_i
xi的元素的集合,
S
i
ˉ
\\barS_i
Siˉ记大于
x
i
x_i
xi的元素即集合,然后分别对集合
S
i
S_i
Si和
S
i
ˉ
\\barS_i
Siˉ分别排序,所以,最后的次序由集合
S
i
S_i
Si元素的次序、
x
i
x_i
xi、集合
S
i
ˉ
\\barS_i
Siˉ元素的次序排列组成。 以上是关于条件期望求解快速排序算法复杂度的主要内容,如果未能解决你的问题,请参考以下文章
假定元素集合是
10
10
10,
5
5
5,
8
8
8,
2
2
2,
1
1
1,
4
4
4,
7
7
7,随机选取一个(即这
7
7
7个值中的每一个选取的概率都是
1
7
\\frac17
71)。假如值
4
4
4被选取,然后将其它
6
6
6个值得每一个与
4
4
4做比较得到
2
,
1
,
4
,
10
,
5
,
8
,
7
\\2,1\\,4,\\10,5,8,7\\
2,1,4,10,5,8,7将集合
2
,
1
\\2,1\\
2,1排序得到
1
,
2
,
4
,
10
,
5
,
8
,
7