- 12
- 0
- 约2.59千字
- 约 14页
- 2015-07-19 发布于河南
- 举报
6算法分析与设计 第六讲 分治法总结【荐】.pdf
算法分析与设计第六讲
分治法总结
1
主要内容
分治法基本思想
分治法基本步骤
算法分析
分治法注意点
分治法基本思想
最为常用的算法技术
分治法的基本思想是将一个规模较大的问
题分解为若干个规模较小的子问题,子问
题相互独立且与原问题同类
求解时,首先求出这些子问题的解,然后
把子问题的解组合起来就可得到原问题的
解
3
分治法基本步骤
分解(Divide):将原问题分解为子问题
解决(Conquer):求解子问题
合并(Combine):将子问题的解组合得
到原问题的解
4
算法分析
当算法包含对其自身的递归调用时,其时
间复杂度通常可用递归式来表示
分治与递归往往联系在一起
对于递归式
代换法(substitution method)
递归树方法(recursion-tree method )
主方法(master method)
5
分治法注意点
适用于分治法求解的问题
子问题规模较小时易解决
原问题与分解后的子问题同类
原问题的解可以由子问题的解合并得到
子问题相互独立,不包含公共子问题
平衡
使子问题规模尽量接近
是不是规模相等或者规模相差无几才算平衡?
6
分治法求解实例
插入排序、合并排序
递归(阶乘函数、Fibonacci数列、整数划
分问题、汉诺塔问题)
快速排序
最大元、最小元
最近点对
求第i小元素
7
几个排序算法
插入排序
合并排序
快速排序
快速排序的随机化版本
8
递归
阶乘函数
Fibonacci数列
汉诺塔问题
9
最大元、最小元问题
当n=2时,一次比较就可以找出两个数据
元素的最大元和最小元
当n2时,可以把n个数据元素分为大致相
等的两半
10
求第i小元素
分治法
期望线性时间求解方法
最坏情况线性时间求解方法
11
求第i小元素
期望线性时间求解方法
使用Random Partition对数组进行划分
检查主元元素是否第i小,如果是,则返回
否则,确定第i小落在划分后的低区还是高区
如果落在低区,则在低区的子数组中递归选择
如果落在高区,则在高区的子数组中递归选择
12
您可能关注的文档
- 3中文操作系统【荐】.ppt
- 3使用图像与多媒体【荐】.ppt
- 3室内分布系统工程设计【荐】.ppt
- 3嵌入式操作系统【荐】.pdf
- 3水利工程施工单位用表【荐】.doc
- 3电子设计2010【荐】.ppt
- 3电子设计2011【荐】.ppt
- 3第三章-WCDMA的空中接口【荐】.pdf
- 3第三节 胃炎病人的护理【荐】.ppt
- 3管理信息系统【荐】.ppt
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
原创力文档

文档评论(0)