算法设计与分析3.ppt

算法设计与分析3.ppt

ID:57649020

大小:1.19 MB

页数:32页

时间:2020-08-30

算法设计与分析3.ppt_第1页
算法设计与分析3.ppt_第2页
算法设计与分析3.ppt_第3页
算法设计与分析3.ppt_第4页
算法设计与分析3.ppt_第5页
资源描述:

《算法设计与分析3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Chapter3Divide-and-conquerAlgorithms3.1Divide-and-ConquertheoryMainidea:Theybreaktheproblemintoseveralsubproblemsthataresimilartotheoriginalproblembutsmallerinsize,solvethesubproblemsrecursively,andthencombinethesesolutionstocreateasolutiontotheoriginalproble

2、m.Thedivide-and-conquerapproachinvolvesthreestepsateachleveloftherecursion:Dividetheproblemintoanumberofsubproblems.Conquerthesubproblemsbysolvingthemrecursively.Ifthesubproblemsizesaremallenough,however,justsolvethesubproblemsinastraightforwardmanner.Combine

3、thesolutionstothesubproblemsintothesolutionfortheoriginalproblem.Chapter3Divide-and-conquerAlgorithmsChapter3Divide-and-conquerAlgorithmsChapter3Divide-and-conquerAlgorithmsChapter3Divide-and-conquerAlgorithmsChapter3Divide-and-conquerAlgorithmsChapter3Divide

4、-and-conquerAlgorithms二分搜索技术Chapter3Divide-and-conquerAlgorithmsKnuth“TheArtofComputerProgramming:SortingandSearching”19461962Bentley“WritingCorrectPrograms”90%2hoursChapter3Divide-and-conquerAlgorithms3.2合并排序1.算法的基本思想:·Divide:把n元素序列分为2个元序列。·Conquer:使用Merge-s

5、ort递归地排序2个子序列。·Combine:合并2个Sorted子序列,产生n元素的有序序列。Chapter3Divide-and-conquerAlgorithmsChapter3Divide-and-conquerAlgorithms2.算法定义输入:Ap,r:欲排序数据在数组A中。输出:Ap,r:排序后的数据。方法:Merge-Sort(A,p,r){if(p

6、*Merge算法十分简单,需要O(n)次比较。*若要排序存储在数组A的n个数,只需调用Merge-Sort(A,1,n)。Chapter3Divide-and-conquerAlgorithms2.算法定义输入:Ap,r:欲排序数据在数组A中。输出:Ap,r:排序后的数据。方法:Merge-Sort(A,p,r){if(p

7、*若要排序存储在数组A的n个数,只需调用Merge-Sort(A,1,n)。Chapter3Divide-and-conquerAlgorithms3.Merge-Sort的分析·Ifn=1,T(n)=(1)·Divide阶段的时间复杂性:D(n)=(1)·Conquer阶段的时间复杂性:2T(n/2)·Combine阶段的时间复杂性:C(n)=(n)Chapter3Divide-and-conquerAlgorithms3.3大整数的乘法Chapter3Divide-and-conquerAlgorith

8、msChapter3Divide-and-conquerAlgorithmsChapter3Divide-and-conquerAlgorithms3.4矩阵乘法Chapter3Divide-and-conquerAlgorithmsChapter3Divide-and-conquerAlgorithmsChapter3Divide-and-conquerAlgorith

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。