摘要: 一、对回溯算法的理解 应用回溯算法的三个步骤: 1.首先得构造解空间树:子集树和排列树; 2.以深度优先的方式搜索解空间:递归或迭代; 3.设计剪枝函数避免无效搜索:使用约束函数,剪去不满足约束条件的路径或使用限界函数,剪去不能得到最优解的路径。 回溯法解问题的一个显著特征是,解空间树是虚拟的,在任 阅读全文
posted @ 2020-12-19 14:09 法王且辅王 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 理解: 贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个 阅读全文
posted @ 2020-11-14 19:05 法王且辅王 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 1.1 根据最优子结构性质,列出递归方程式 dp[i]=max(dp[j],dp[i]-1)+1; 1.2 给出填表法中表的维度、填表范围和填表顺序。 表的维度是1,填表范围为[0,n],填表顺序为从左往右。 1.3 分析该算法的时间和空间复杂度 因为有两重循环,所以空间复杂度为o(n),时间复杂度 阅读全文
posted @ 2020-10-31 20:21 法王且辅王 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 我认为分治法是一种说起来简单做起来难的算法。说起来简单是因为算法的设计思路是完全符合人的思维过程的:分而治之嘛,在面向过程的程序设计中我们都有这样的体会,把一个复杂的问题模块化,每个模块实现一个小的功能,最后将各个模块连接起来完成最后的功能要求。这其实就是分治法的思想,把大问题分开成小问题,然后解决 阅读全文
posted @ 2020-10-03 21:13 法王且辅王 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 1.请上网了解编码规范,说明你本学期的编码遵循哪个规范及该规范的链接。 (1)命名空间规范 namespace 关键字使得我们可以通过创建作用范围来对全局命名空间进行分隔。本质上来讲,一个命名空间就定义了一个范围。定义命名空间时应尽量使用大写的英文单词或单词缩写。 (2)文件命名规范 文件主体名必须 阅读全文
posted @ 2020-09-18 21:07 法王且辅王 阅读(88) 评论(0) 推荐(0) 编辑