网站大量收购独家精品文档,联系QQ:2885784924

北京大学屈婉玲算法设计与分析最新课件09.pdfVIP

北京大学屈婉玲算法设计与分析最新课件09.pdf

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章随机算法 Las Vegas 型随机算法 随机快速排序随机快速排序 随机选择 随机随机n后放置后放置 Monte Carlo型随机算法 主元素测试主元素测试 串相等测试 模式匹配模式匹配 素数测试 随机算法的分类与局限性 随机快速排序算法随机快速排序算法 算法9.1 随机快速排序算法 输入输入:包含包含n 个元素的数组个元素的数组 输出:经过排序的n 个元素的数组 1. 若数组包含若数组包含0 或或1 个元素则返回个元素则返回 2. 从数组中随机选择一个元素作为枢轴元素 3. 把把数组元素分为数组元素分为三个子数组个子数组,并且按照并且按照A , B, C 顺序顺序排列排列 A :包含比枢轴元素小的元素; B :包含与枢轴元素相等的元素; C:包含比枢轴元素大的元素. 4 .对A 和C 递归地执行上述步骤. 算法分析算法分析 定理9.1 设数组含n个不同元素,对任意常数ε0,随机快速 排序算法的期望比较次数 T(n) ≤2 n ln n. 证明证明一::求解递推式求解递推式 随机选取枢轴元素,其位于排序后第i 位置(i=1,2,…,n) 的概 率是率是1/1/nn ,,AA 和和CC的元素数分别是的元素数分别是ii 个和个和nn−ii−11个个,, 得得 1 n−1 T(n) (n −1) + ∑[T(i) +T(n −i −1)] n i 1 解为Θ(nlogn). 可归纳证明精确上界是T(n) ≤2n ln n. n−1 2 2 n TT((nn)) ((nn −11)) ++ ∑∑22ii lnln ii ≤≤((nn −11)) ++ 22xx lnln xdxxdx ∫∫1 n i 1 n 2 n2 1 ≤(n −1) + (n2 ln n − + ) ≤2n ln n n 22 22 随机选择算法随机选择算法 算法RandSelect(A , p , r, k) //从A [p ..r]中选第k小 1. if p =r then return A [p ] 2. i ←Random((pp ,, r)) 3. 以A [i] 为标准划分A 4. jj ←划分后小于等于划分后小于等于A [[i]] 的数构成数组的大小的数构成数组的大小 5. if k≤j 6.6. thenthen returnreturn RandSelectRandSelect ((AA ,, pp ,, pp +jj -1,1, kk)) 7. else return RandSelect (A , p +j , r, k-j ) 4 时间期望值估计时间期望值估计 假设1.. n 中每个数被选的概率相等,并且假设第k 个数总是 出现在划分后两个数组中较大的数组出现在划分后两个数组中较大的数组,,算法的期望时间为算法的期望时

文档评论(0)

ki66588 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档