重复

导航

2018年12月19日 #

第五章作业

摘要: 1.对回溯算法的理解: 运用回溯法可以系统地搜索一个问题的所有解或任一解。 它在问题的解空间树中,按照深度优先策略,从根节点出发搜索解空间树。 当算法搜索至解空间树的任一节点时,判断该节点是否包含问题的解,如果不包含,则跳过以该节点为根的子树的搜索,逐层向其父节点回溯。 否则进入该子树,继续搜索。 阅读全文

posted @ 2018-12-19 21:42 重复 阅读(96) 评论(0) 推荐(0) 编辑

第五章上机实践报告

摘要: 1.实践问题: 工作分配问题 2.问题描述: 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 3.算法描述: 1)解空间:排列树 2)测试样例的解空间树: 3)剪枝方法: 4.心得体会: 阅读全文

posted @ 2018-12-19 21:23 重复 阅读(108) 评论(0) 推荐(0) 编辑

2018年11月30日 #

算法第四章实践报告

摘要: 1.实践题目: 程序存储问题 2.问题描述: 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序 在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度, 计算磁 阅读全文

posted @ 2018-11-30 14:06 重复 阅读(190) 评论(0) 推荐(0) 编辑

第四章作业

摘要: 1.对贪心算法的理解 当一个问题具有最优子结构性质的时候,除了考虑用动态规划法求解,有时也可以用更加简单有效的贪心算法。 贪心算法总是做出在当前看起来是最好的选择,即贪心算法并不是从整体最优的思想加以考虑,它所做出的选择只是在某种意义上的局部最优选择。 我们通常希望贪心选择最终是整体的最优选择,但有 阅读全文

posted @ 2018-11-30 13:53 重复 阅读(97) 评论(0) 推荐(0) 编辑

2018年11月10日 #

算法第三章上机实践报告

摘要: 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下来 n行是数字三角形各行中的数字。所有数字在 阅读全文

posted @ 2018-11-10 22:23 重复 阅读(90) 评论(0) 推荐(0) 编辑

算法第3章作业

摘要: 动态规划算法与分治法有点类似,主要思想是把待求解的问题分解成若干个子问题,通过先求解子问题再从子问题的解得出原问题的解。动态规划算法更加适合用来求最优解问题,有时候需要用一个表来记录已解决的子问题的答案,用来避免多次计算子问题的结果。 2.编程题1的递归方程如下: for(int i=0;i<n;i 阅读全文

posted @ 2018-11-10 22:06 重复 阅读(103) 评论(0) 推荐(0) 编辑

2018年10月21日 #

算法第二章上机实验报告

摘要: 1.实践题目: 两个有序序列的中位数 2.问题描述: 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​为第1个数)。 输入格式: 输入分三行。第一 阅读全文

posted @ 2018-10-21 22:44 重复 阅读(135) 评论(0) 推荐(0) 编辑

对二分法的理解和关于结对编程的看法

摘要: 二分搜索算法运用了分治策略,基本思想是将n个元素分成个数大致相同的两半,取a[n/2]与x作比较。如果X=a[n/2],则找到X,算法终止。否则继续搜索。 结对编程让我们能够从对方身上学习到不同的思想,也能看到对方代码的错误之处。 阅读全文

posted @ 2018-10-21 17:38 重复 阅读(93) 评论(0) 推荐(0) 编辑