《算法导论》第五章——概率分析和随机算法

8 篇文章 1 订阅
1 篇文章 0 订阅

概率分析和随机算法

概率分析

概率分析是在问题分析中应用概率的理念。大多数情况下,我们采用概率分析来分析一个算法的运行时间,有时也用它来分析其他的量。
对所有可能输入产生的运行时间取平均,这种情况下产生的运行时间称为平均情况运行时间。

随机算法

如果一个算法的行为不仅由输入决定,而且也由随机数生成器产生的数值决定,则称这个算法是随机的。
随机算法的运行时间以运行时间的期望值衡量,称为期望运行时间。

指示器随机变量

在这里插入图片描述

随机排列数组
  • 为数组的每个元素A[i]赋一个随机的优先级P[i],然后依据优先级对数组A中的元素进行排序。
PERMUTE-BY-SORTING(A)
n = A.length
let P[1..n] be a new array
for i = 1 to n
	p[i] = RANDOM(1,n^3)
sort A, using P as sort keys
  • 产生随机排列的另一个更好的方法是原址排列给定数组。
RANDOMIZE-IN-PLACE(A)
n = A.length
for i = 1 to n
	swap A[i] with A[RANDOM(i,n)]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值