- 1、本文档共106页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
信息工程大学算法设计与分析综合应用国家级实验教学示范中心计算机学科组规划教材算法设计与分析Python案例详解微课视频版
算法设计策略的分析和对比每种算法设计策略的特点算法设计策略间的联系和区别最大子段和问题穷举法穷举法的改进分治法动态规划在线算法最短路径问题单源最短路径问题迪杰斯特拉算法(贪心法)Bellman-Ford算法SPFA算法所有点对间的最短路径问题弗洛伊德算法(动态规划)资源分配问题动态规划贪心法回溯法分支限界法
信息工程大学算法设计与分析综合应用—算法设计策略得对比国家级实验教学示范中心计算机学科组规划教材算法设计与分析Python案例详解微课视频版
递归分治动态规划贪心回溯分支限界概率算法
递归分治两者的关系:递归与分治密不可分,分治要使用递归,而递归隐含着分治的思想。通常把两者合二为一,统称为递归与分治策略。思想:函数调用自己关键:递归式和边界条件思想:分而治之关键:分、治、合
分治动态规划两者的关系:都是通过把问题分解为子问题求解,子问题独立时用分治,子问题有重复时用动态规划。思想:最优子结构和重叠子问题关键:问题和子问题的最优值递归关系思想:分而治之关键:分、治、合
动态规划贪心思想:最优子结构和重叠子问题关键:问题和子问题的最优值递归关系思想:一系列局部最优得到全局最优关键:选择正确的贪心选择策略两者的关系:求解的问题都具有最优子结构性质,如果具有贪心选择性质可以使用贪心法求解。
回溯分支限界两者的关系:求解的问题都是对解空间树进行有哪些信誉好的足球投注网站,边有哪些信誉好的足球投注网站边判断;回溯使用深搜,分支限界使用广搜。思想:对解空间树进行深度优先有哪些信誉好的足球投注网站关键:设计合适的剪枝函数思想:对解空间树进行广度优先有哪些信誉好的足球投注网站关键:设计合适的限界函数
算法设计策略之间有一定的联系和区别; 在解决具体问题时,应该根据问题的特点,选择合适的算法设计策略,使问题得到高效求解。
信息工程大学算法设计与分析综合应用—最大子段和问题国家级实验教学示范中心计算机学科组规划教材算法设计与分析Python案例详解微课视频版
已知某支股票连续若干天的价格,问:这段时间内,应该在哪天买入哪天卖出才能获得最大收益?天0123456789101112131415价格1001131108510510286638110194106101799490表1:某支股票的价格变动情况
思路一:找最低价和最高价思路一:最低价买入,最高价卖出。不正确最低价出现在第7天,最高价出现在第1天。
思路二思路二:找最低价和最高价,从最高价向左找最低价,从最低价向右找最高价,取两对价格中差值最大者。正确吗?1343
思路二:找最低价和最高价,从最高价向左找最低价,从最低价向右找最高价,取两对价格中差值最大者。不正确反例:如下表中的最大收益是第2天买入、第3天卖出,与最低价和最高价无关。天01234价2:某支股票的价格变动情况
思路三:穷举法,计算所有前后两天的价格差,找最大的,即为最大收益。表1:某支股票的价格变动情况天0123456789101112131415价格1001131108510510286638110194106101799490intmax_value=0;fori=0ton-1forj=i+1ton{t=p[j]-p[i];if(tmax_value)max_value=t;}returnmax_value;时间复杂度为O(n2)
思路四:从价格变化的角度考虑,最大收益等价于连续区间的价格变化之和最大的。表3:某支股票的价格变动情况天0123456789101112131415价格p1001131108510510286638110194106101799490变化a13-3-2520-3-16-231820-712-5-2215-4用a[i]表示第i天与前一天的价格差,则最大收益为
给定一个序列,找连续区间中和的最大值。最大子段和例1:序列(-20,11,-4,13,-5,-2)的最大子段和为(11,-4,13)=20。例2:序列(-20,11,-4,-6,-5,-2)的最大子段和为(11)=11。例3:序列(-20,-11,-4,-13,-5,-2)的最大子段和为0。
选择题序列(20,11,4,6,5,2)的最大子段和为()。A.48B.20C.0D.以上都不对
穷举法:计算所有连续区间的和,找其中最大的。a[i]a[j]1.intMaxSubsequenceSum(int*a,intn)2.{3. intThis
文档评论(0)