- 27
- 0
- 约3.7千字
- 约 12页
- 2019-02-05 发布于湖北
- 举报
第2讲分治算法和二分搜索算法
分治法的基本思想 * * * Fibonacci数列: 1, 1, 2, 3, 5, 8, 13… 迭代法求Fibonacci数列的前20项 #include stdio.h void main( ) { int i , f1=1 , f2=1 , f3; printf(%8d%8d, f1 , f2); for ( i=3 ; i=20 ; i++ ) { f3=f1+f2; f1=f2; f2=f3; printf(%8d, f3); if ( i%4==0) putchar(\n); } } 迭代法在已知数列前2项的基础上, 从第3项开始, 依次向后计算, 得出数列的每一项 思考:怎样用递归的方法求解? 2-1 递归法求Fibonacci数列 定义Fibonacci数列的递归数学模型: 递归法求Fibonacci数列 1 n=0,1 F(n-1)+F(n-2) n1 F(n)= 递归的终止条件 递归公式 int Fib(int n) { if (n0) { printf(error!); exit(0); } else if (n = 1) return 1; else return Fib(n-1)+Fib(n-2); } 2-1 递归法求Fibonacci数列 用递归法求Fibonacci数列 Fib(4) return + Fib(3) Fib(2) return + Fib(2) Fib(1) return + Fib(1) Fib(0) return + Fib(1) Fib(0) return 1 return 1 return 1 return 1 return 1 n=4时,递归法进行了多少次函数调用? 1 1 2 1 1 1 3 2 5 n=20时, 要进行21891次递归调用 讨论: 求Fibonacci数列的迭代法和递归法谁好? 2-1 递归法求Fibonacci数列 第2讲 分治法和二分搜索算法 本讲内容: (1) 分治法的基本思想 (2) 二分搜索技术 分治法的思想: 分而治之。将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同,(如果子问题的规模仍然不够小,则再划分为k个子问题), 然后递归的求解这些子问题,最后用适当的方法将各子问题的解合并成原问题的解。 原问题(规模为n) 子问题1 子问题2 子问题k … 子问题1 子问题2 子问题k … 相同 类型 合并解 子问题1 子问题2 子问题k … 子问题1 子问题2 子问题k … 分治法的适用条件 分治法所能解决的问题一般具有以下几个特征: 该问题的规模缩小到一定的程度就可以容易地解决 该问题可以分解为若干个规模较小的相同问题 该问题所分解出的各个子问题是相互独立的 利用分解出的子问题的解可以合并为该问题的解 分治法的基本思想 前提条件:有一组数已经按从小到大(或从大到小)排序 目标:输入一个数x,在这组数查找是否有x 二分搜索的步骤: 1、确定三个关键下标的初值:bott=0, top=8, mid=(bott+top)/2; 2、判断要找的数x是否等于a[mid] ① x==a[mid] 找到,结束 xa[mid] 在a[bott]—a[mid-1]之间继续查找x top=mid-1; mid=(bott+top)/2; ③ xa[mid] 在a[mid+1]—a[top]之间继续查找x bott=mid+1; mid=(bott+top)/2; -6 101 82 54 23 9 7 0 -15 mid bott top a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] 2-2 二分搜索算法 二分搜索实例:设在数组a中顺序放了以下9个元素: 检索x=9, 9==a[4], 一次比较就成功, 最好情况 101 82 54 23 9 7 0 -6 -
您可能关注的文档
- 电工作业第三章3.ppt
- 电工作业—人体触电.ppt
- 电工学chap12.ppt
- 电工进网作业许可考试辅导电力系统基本知识.ppt
- 火浪神Ⅱ粉煤燃烧装置介绍2010.ppt
- 电气设备故障诊断2nd.ppt
- 电机班讲座一现行大型电机的检测状况及管理方式.ppt
- 电话闭塞法行车规定.ppt
- 电脑入门知识路由器安全漏洞的严重性.ppt
- 疏散演练培训教材.ppt
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 生理性与病理妊娠医学营养治疗解读PPT课件.pptx VIP
- 在线网课学习课堂《科技英语交流(北京理大)》单元测试考核答案.docx VIP
- 2025年华源电力招聘笔试题目及答案.doc
- 人教版小学三年级下册体育与健康全册教案(教学设计).pdf VIP
- 20ZJ401楼梯栏杆图集标准.pdf VIP
- 肺胀(慢性阻塞性肺疾病稳定期)中医护理方案 (一).pdf VIP
- 2025年度普通党员组织生活会个人对照检查材料(五个带头).docx VIP
- 《松材线虫病打孔注药防治技术规程》.doc VIP
- 2016年高考地理试卷(浙江)(10月)(解析卷).pdf VIP
- 2022年工程机械设备租赁服务方案(含应急处理方案、保障措施).docx VIP
原创力文档

文档评论(0)