一.概率分布
对于有些问题本身是属于概率问题,如雇佣问题:
对于此类问题,我们需要利用概率分析来得到算法的运行时间,有时也用来分析其他的量。例如,雇佣问题中的费用问题也需要结合概率分析来计算得到。
为了使用概率分析,我们必须使用或者假设已知关于输入的概率分布,然后通过分析该算法计算出平均情况下的运行时间。当所有可能的输入分布均取平均值时,我们称其为平均情况运行时间。
为了利用概率分析来分析算法,我们需要了解输入分布的相关信息。但是在很多情况下,我们对输入分布了解甚少,此时我们利用随机算法来进行算法分析。
二.随机算法
很多随机算法通过使输入随机化来实现,书中介绍了两种随机数组的构造方法:
1.随机排列数组
为数组A[i]赋一个随机的优先级P[i],然后依据P[i]对A[i]进行排序,即可得到随机数组;
2.原址排列给定数组
