随机化算法

概述

随机化算法 在执行过程中利用随机数来控制算法行为,从而以概率方式保证正确性或性能。

定义

随机化算法

算法在运行过程中除了接收输入外,还访问一个随机数源(random number generator),使得算法的行为部分由随机比特决定。

核心性质

  • Las Vegas 算法:总是给出正确答案,但运行时间是随机变量(如随机化快速排序)。
  • Monte Carlo 算法:运行时间确定,但输出可能有错误,错误概率可通过重复运行降低。
  • 随机化算法的优势:使算法性能不依赖于特定输入分布,将概率分析内化到算法本身。
  • 随机化快速排序通过随机选择主元(pivot),使得对任何输入的期望运行时间均为

章节扩展

第2章:入门

  • 2.2 算法分析 引入随机化思想,说明随机化可以消除算法对输入分布的依赖。
  • 第5章和第7章将深入讨论概率分析与随机化算法的设计与分析。

第5章:概率分析与随机化算法

参见