- 5
- 0
- 约7.72千字
- 约 95页
- 2023-05-01 发布于山东
- 举报
分治法 ;5.1 分治法的基本思想
5.2 求最大最小元
5.3 二分搜索
5.4 排序问题
5.5 选择问题
5.6 斯特拉森矩阵乘法
5.7 最接近点对问题;5.1 一般方法 ;5.1.1 分治法的基本思想 ;5.1.1 分治法的基本思想 ;将要求解的较大规模的问题分割成k个更小规模的子问题。;算法总体思想;算法总体思想;算法总体思想;原始问题;分析过程
建立递归方程
求解
递归方程的建立方法
设输入大小为n,T(n)为时间复杂性
当nc, T(n)=?(1);Divide阶段的时间复杂性
划分问题为a个子问题。
每个子问题大小为n/b。
划分时间可直接得到=D(n)
Conquer阶段的时间复杂性
递归调用
Conquer时间= aT(n/b)
Combine阶段的时间复杂性
时间可以直接得到=C(n);总之
T(n)=?(1) if nc
T(n)=aT(n/b)+D(n)+C(n) otherwise
求解递归方程T(n)
使用上一章的方法;【程序5-1】 分治法
SolutionType DandC(ProblemType P)
{
ProblemType P1,P2,?,Pk;
if (Small(P)) return S(P);
else
{
Divide(P,P1,P2,?,Pk);
Return C
原创力文档

文档评论(0)