-
算法第五章实践报告
1.实践题目:工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每 一个人都分配1 件不同的工作,并使总费用达到最小。 3.算法描述本题思想可借鉴旅行售货员算法,采用回溯子空间树的方法回溯,并利用isVisited -
算法第5章上机实践
每个ai都有一个值,里面是选的第几个人或者第几项工作,由于人和工作都是n,人分配给工作,工作分配给工作都一样。 这里用人分配给工作的理解。其实这题的剪枝函数十分简易,就是用count来代表当前的花费,如果c大于当前最优的花费,就剪枝。如果小于就继续,树的深度代表工作编号,x[i]代表这个人有没有被分 -
算法第5章上机实践
实践题目 :工作分配问题 问题描述:设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述) 心得体会(对本次实 -
第五章实践报告
1.实践题目 :工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示 -
算法第5章上机实践
1.实践题目 :工作分配问题 2.问题描述:设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 3.算法描述:剪枝后的解空间树如下 所以解空间有(10,3,5),(10,4,4),(2,2, -
算法第5章上机实践
实践题目 :工作分配问题 问题描述: 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费 -
算法第5章上机实践
实践题目 :工作分配问题 问题描述:设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述): void wor -
算法第5章作业
1.你对回溯算法的理解 回溯法是一种深度优先的选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回“回溯点”重新选择,这也就是回溯的基本过程。回溯法与穷举类似,却通过限界函数和约束函数剪枝来达到算法的精简;与动态规划类似,却以更为固定易套用的方法而更 -
算法第五章作业
1.你对回溯算法的理解(2分) 在我看来,回溯法应该在一个节点处搜索其子节点是否包含问题的解,如果不包含,则向父节点回溯。 2.请说明“子集和”问题的解空间结构和约束函数(2分) 解空间结构:二叉树,一边代表包含这个数,一边代表不包含这个数。 约束函数:在此题中即为如果算出的sum已经大于了算出的最 -
第五章作业
1.你对回溯算法的理解 我觉得回溯法是一种根据条件来进行选优遍历的算法。它是根据条件来向前搜索,以遍历出经过约束条件和限界条件筛选的所有结果从而得到最优解来解决问题。 2.请说明“子集和”问题的解空间结构和约束函数 “子集和”问题的解空间树是一棵子集树,一棵二叉树,与0-1背包问题类似,每层判断该数