-
算法第5章作业
1、你对回溯算法的理解 我认为回溯算法就是穷举法+剪枝函数 2、请说明“子集和”问题的解空间结构和约束函数 该问题的解空间结构和背包问题相似,也是通过二叉树来选择是否放入。 约束函数: if(cn+a[i]<=c&&cn+rest>=c) // 要放入的数字与已有的数字之和不能超过 目标数字并且剩下 -
算法第5章上机实践
1、实践题目 :工作分配问题 2、问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同 的工作,并使总费用达到最小。 3、算法描述(包括解空间,画出测试样例的解空间树,剪枝(约 束函数或限界函数)方法描述) 解 -
第五章实验报告
实践题目: 工作分配问题 问题描述: 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费 -
算法第5章上机实践
1.实践题目 :工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 3.算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述 解空间: -
第三章的实践报告
1.实践题目 数字三角形 2.给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述 递归方程式为b[i][j]=max(b[i+1][j]+a[i][j],b[i+1][j+ -
第三章作业
1.你对动态规划算法的理解 我觉得动态规划算法的基本思想与分治法类似,也是将要解决的问题分解成若干个子问题去求解,通过分析问题与问题状态之间的关系,使得问题可以通过递推的方式去解决。 2.分别列出编程题1、2的递归方程 编程题1:c[i][j] = max{c[i][j-1], c[i-1][j]} -
第三章上机实践报告
1、实践的题目是:数字三角形. 2、问题的描述是:给定一个由 n行数字组成的数字三角形如下图所示:试设计一个算法,计算出从三角形 的 顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3、算法的描述是: for(i=n-1;i>=1;i--){ for(j=0;j< -
算法第4章作业
一:贪心算法的理解①通过求解一问题而得到最优解②做贪心选择确定子问题 二:请说明汽车加油问题的贪心选择性质 每次到站都检查自己的油是否足够走完下一程,如果不够就加油,够就继续往前走。三:问题比较容易忽略特殊的特殊情况使算法不完善 -
第四章实践报告
1.实践题目 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序 -
算法第4章实践报告
1.实践题目:最优合并问题 2.问题描述: 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要