- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法设计及分析-9顺序统计学
算法设计与分析 谭守标 安徽大学 电子学院 2007.9 第六章 顺序统计学 顺序统计的概念 线性期望时间选择算法(过程及分析) 最坏情况线性时间选择算法(过程及分析) 程序演示及说明 6.1 顺序统计的概念 一、顺序统计 1、顺序统计的概念:一个由n个元素组成的集合的第i个顺序统计就是该集合中第i小的元素。例如,一个集合元素中的最小值即其第一个顺序统计(i=1);最大值即为其第n个顺序统计(i=n)。 2、中位数的概念:一个中位数非正式的说即该集合的“中间点”上的元素。 6.2 线性期望时间选择算法 一、选择问题的定义 1、输入:一个含n个(不同的)数的集合A和一个数 i, 1 ≤ i≤n。 2、输出:恰大于A中其他i-1个元素的x∈A。 二、最大最小元素的选择算法 1、求n个元素集合中的最小元素 MINIMUM(A) 1 min ←A[1] 2 for i← 2 to length [A] 3 do if minA[i] 4 then min←A[i] 5 return min 通过程序可以知道经过n-1比较就可以确定最小值。 6.2 线性期望时间选择算法 三、以线形期望时间做选择 1、 RANDOMIZED-SELECT算法 RANDOMIZED-SELECT(A,p,r,i) 1 if p=r 2 then return A[p] 3 q ← RANDOMIZED-PARTITION(A,p,r) 4 k ←q-p+1 5 if i ≤k 6 then return RANDOMIZED-SELECT(A,p,q,i) 7 else return RANDOMIZED-SELECT(A,q+1,r,i-k) 6.2 线性期望时间选择算法 2、 RANDOMIZED-SELECT算法运行时间分析 a.最坏情况 RANDOMIZED-SELECT的最坏情况运行时间为Θ(n2),即使是要选择最小元素也是这样,因为在每次划分时可 能极不走运,总是按所余下的元素中最大的进行划分。 b.平均情况分析 因为是一个随机化过程,所以没有一个特别的输入会导致最坏性态的发生,所以分析该算法的平均情况性能很有实际意义,通过分析我们会发现该算法的平均情况性能较好。 6.2 线性期望时间选择算法 当RANDOMIZED-SELECT作用于一个含n个元素的输入数组上时,我们可以给出其期望时间的一个上界T(n)。在快速排序算法中我们曾经分析过算法RANDOMIZED-PARTITION在产生划分时,其低区中含1个元素的概率为2/n,含i个元素的概率是1/n,i=2,3,…,n-1。假设T(n)是单调递增的,在最坏情况下RANDOMIZED-SELECT的每次划分中,第i个元素都在划分的较大的一边。这样就得递归式: T(n) 6.2 线性期望时间选择算法 上面推导中由第一行到第二行是因为max(1,n-1)=n-1,且 如果n是奇数,每一项T(┏n/2┓), T(┏n/2┓+1) ,T(┏n/2┓+2),…, T(n-1)在和式中个出现了两次;如果n是偶数,每一项 T(┏n/2┓+1) ,T(┏n/2┓+2),…, T(n-1) 个出现两次, T(┏n/2┓) 只出现了一次。在各种情况中,第一行中的和式都由第二中的和式从上方限界。第二行到第三行是因为在最坏情况下T(n-1)=O(n2),故1/nT(n-1)可被项O(n)吸收。 6.2 线性期望时间选择算法 我们用归纳法解上面的递归式。假设对满足递归式初始条件的某个常数c,有T(n) ≤cn。将其代入我们刚才推导出来的式子:由这个归纳假设可得: 6.2 线性期望时间选择算法 因为我们可以选择足够大的c使得c(n/4+1/2)能支配O(n)项。 总之,任意的顺序统计(尤其是中位数)平均来说都可在线性时间内确定。 6.3最坏情况线性时间选择算法 一、SELECT算法的基本步骤 1、将输入数组的n个元素划分成┗n/5┛组,每组5个元素,且至多只有一个组包含余下的n mod 5个有元素 (如图)。 2、通过插入排序来找出每组中的中位数,并取其中间元素。(如果某组中有偶数个元素,则取两个中位数
您可能关注的文档
最近下载
- 高中数学知识点总结(全版).doc VIP
- 2025年赣美版(2024)小学美术一年级下册(全册)教案、教学计划、教学反思(附教材目录P253).docx VIP
- 2024年清华大学计算机科学与技术专业《计算机组成原理》科目期末精品7747.pdf VIP
- 2022许昌职业技术学院招聘笔试真题参考答案详解.docx VIP
- 地质灾害预测:泥石流预测_(15).泥石流预测技术的最新进展.docx VIP
- 2025上海闵行教育系统公开招聘实验员113人笔试模拟试题及答案解析.docx VIP
- 华为科技企业研发管理数字化转型研究报告2025.docx
- 水利水电工程安全员培训()资料祥解.ppt
- 监理大纲工程监理方案技术标投标方案.doc
- 医院检验科程序性文件.pdf VIP
文档评论(0)