摘要: 1.对回溯算法的理解 回溯法可以系统地搜索一个问题的所有解。重点是要找出约束函数和限界函数。算法搜索至解空间树的任意节点时,先判断该节点是否包含问题的解, 如果肯定不包含,则跳过对以该节点为根的子树的搜索,逐层向其父节点回溯,即所谓剪枝。依次类推从各支线中找到最优解。 2.请说明“子集和”问题的解空 阅读全文
posted @ 2018-12-23 20:23 Homerlam 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 实践题目 :工作分配问题 问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用 阅读全文
posted @ 2018-12-23 20:19 Homerlam 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 1.对动态规划的理解 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,但是经分解得到的子问题往往不是互相独立的。在解决最优化问题上,一般采用动态规划。 2.分别列出编程题1、2的递归方程 (1)c[i][j]=c[i-1][j-1]+1 i,j>0;xi != yi ,max 阅读全文
posted @ 2018-11-11 22:12 Homerlam 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-1 数字三角形 2.问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述 ①创建两个二维数组,一个存放三角形,一个存放最大数字总和。 1.实践题目 阅读全文
posted @ 2018-11-04 20:00 Homerlam 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 1、请谈一下你对二分法思想的体会 二分法思想其实是分治法的其中一种具体体现,也是我们学生最早接触到的分治思想,我感受到分治法给我带来的解决一个比较复杂的问题的思路,就是把一个复杂的问题分成一个个简单的问题,我们可以逐个击破最后再凑成最终的解答。这种思想不仅可以在编程过程中使用,还可以在我们日常生活中 阅读全文
posted @ 2018-10-14 13:55 Homerlam 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 算法时间及空间复杂度分析(要有分析过程) 心得体会(对本次实践收获及疑惑进行总结) 1,实践题目: 7-1 二分查找 (20 分) 输入n值(1<=n<=1000)、n 个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次 阅读全文
posted @ 2018-10-14 13:49 Homerlam 阅读(134) 评论(0) 推荐(0) 编辑