- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分治策略
的设计思想
分治策略的基本思想
分治策略(Divide and Conquer )
1. 将原始问题划分或者归结为规模较
小的子问题
1. 递归或迭代求解每个子问题
2. 将子问题的解综合得到原问题的解
注意:
1. 子问题与原始问题性质完全一样
2. 子问题之间可彼此独立地求解
3. 递归停止时子问题可直接求解
2
二分检索
算法 Binary Search (T, l, r, x)
输入:数组T,下标从l 到r ;数x
输出:j // 若x在T 中,j 为下标; 否则为0
1. l1; rn
2. while lr do
3. m(l +r)/2 // m为中间位置
4. if T[m]=x then return m // x 是中位数
5. else if T[m]x then rm1
6. else lm+1
7. return 0
3
二分检索算法设计思想
• 通过x 与中位数的比较,将原问题归结
为规模减半的子问题,如果x 小于中位
数,则子问题由小于x 的数构成,否则
子问题由大于x 的数构成.
• 对子问题进行二分检索.
• 当子问题规模为1 时,直接比较x 与
T[m],若相等则返回m ,否则返回0.
是否能够递归实现?
4
二分检索时间复杂度分析
二分检索问题最坏情况下时间复杂度
W(n) = W( n/2 )+1
W(1) = 1
可以解出
可以解出 W (n) = log n+1.
W(n)= logn + 1
5
二分归并排序
算法 Merge Sort (A , p , r)
输入:数组 A [p .. r]
输出:元素按从小到大排序的数组A
1. if p r
2. then q ( p + r )/2 对半划分
3. Merge Sort (A, p, q) 子问题1
4. Merge Sort (A, q+1, r) 子问题2
5. Merge (A, p, q, r) 综合解
6
二分归并排序设计思想
• 划分将原问题归结为规模为n/2 的
2 个子问题
• 继续划分,将原问题归结为规模为
n/4 的4 个子问题. 继续...,当子问
题规模为1 时,划分结束.
• 从规模1到n/2 ,陆续归并被排好
序的两个子数组. 每归并一次,数
组规模扩大一倍,直到原始数组.
7
二分归并排序时
间复杂度分析
假设n为2 的幂,二分归并排序最坏
情况下时间复杂度
W(n) = 2 W(n/2) + n1
W(1) = 0
您可能关注的文档
最近下载
- 新疆大学《计算机网络》2021-2022学年期末试卷.pdf VIP
- 幼儿园游戏回顾研讨.pptx VIP
- 人工智能背景下高中语文的课堂变革与教学应对.docx
- 华南师范大学2020-2021学年第2学期《环境化学》期末考试试卷(A卷)及标准答案.docx
- 华南师范大学《环境化学》内部题库练习期末真题汇编及答案.docx
- 2025年武汉警官职业学院单招职业技能测试题库带答案(a卷).docx
- 浙江省宁波市镇海中学2025年高考物理模拟试卷(含答案).pdf VIP
- 人文地理下册 5.2.2 富庶的四川盆地 课件(34张PPT).pptx VIP
- 金蝶K3-v14.0-安装配置指南.doc
- 餐饮服务的技能培训资料.ppt
文档评论(0)