摘要: 实践题目:工作分配问题 问题描述:设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 算法描述: 解空间树: 剪纸:将当前花费与当前最优解进行比较。 具体算法: #include<iostr 阅读全文
posted @ 2018-12-23 21:17 浮云就是敷衍 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 对回溯算法的理解: 回溯法可以系统地搜索一个问题的所有解。重点是要找出约束函数和限界函数。算法搜索至解空间树的任意节点时,先判断该节点是否包含问题的解, 如果肯定不包含,则跳过对以该节点为根的子树的搜索,逐层向其父节点回溯,即所谓剪枝。依次类推从各支线中找到最优解 “子集和”问题的解空间结构和约束函 阅读全文
posted @ 2018-12-23 21:07 浮云就是敷衍 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 实践报告任选一题进行分析。内容包括: 1.实践题目 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带 阅读全文
posted @ 2018-12-04 22:13 浮云就是敷衍 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1、你对贪心算法的理解是: 在我看来贪心算法就是在当前问题上只考虑目前的最优答案解,只需要重视能看到的利益就可以了。 如果想要通过贪心算法求出的问题的最优解,那我们应该要求该问题的局部最优解和整体最优解是一 样的或者是可以传递的,否则单靠贪心算法是无法解答的。 2、请说明汽车加油问题的贪心选择性质 阅读全文
posted @ 2018-12-04 22:10 浮云就是敷衍 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1、实践的题目是:数字三角形. 2、问题的描述是:给定一个由 n行数字组成的数字三角形如下图所示:试设计一个算法,计算出从三角形 的 顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3、算法的描述是: for(i=n-1;i>=1;i--){ for(j=0;j< 阅读全文
posted @ 2018-12-04 22:04 浮云就是敷衍 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1.你对动态规划算法的理解(2分)我认为动态规划算法思想和分治法的思想是类似的,都是将问题的规模缩小,然后求解子问题,根据子问题来解决总问题,但是分治算法的子问题之间是相互独立的,因此在对子问题的求解过程中就产生了很多重复的计算,递归就是这种问题很典型的代表,究其原因就是对子问题的求解过程没有保留中 阅读全文
posted @ 2018-11-05 00:04 浮云就是敷衍 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 问题描述:使用二分搜索的算法,每次进行折半查找,直到最后查到所需查找的值x为止。 算法描述:二分搜索:基本思想是将n个元素分成个数大致相同的两半,取a【n/2】与x作比较。如果x=a【n/2】,则找到x,算法终止;如果x<a[n/2],则只在数组a的左半部分继续搜索x;如果x>a【n/2】,则只在数 阅读全文
posted @ 2018-10-14 14:15 浮云就是敷衍 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 对于二分法的理解: 二分搜索:如果是有序的,直接对半平比较;如果是无序的,要结合快排思想,找数组中任意数a(最方便的应该是第一个或最后一个)当做标杆,让数组其他数字比较大小分为边,比较可以得出a是第几小的,之后再根据需要的,舍弃掉该舍弃的,保留该保留的。 二分排序:二分也可以延伸到多分去。其实快排、 阅读全文
posted @ 2018-10-14 14:08 浮云就是敷衍 阅读(79) 评论(0) 推荐(0) 编辑