摘要: 1.实践题目 工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工 阅读全文
posted @ 2018-12-23 17:08 MockingBirds 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 1.你对回溯算法的理解 回溯算法是以深度优先为策略的有选择性的穷举法。每作出一次选择之后回溯,然后作另外的选择,在不同选择当中选取最优解。约束函数可以减少选择,更快找到最优解。 2.请说明“子集和”问题的解空间结构和约束函数 解空间 { (0, 0, 0, 0, 0), (0, 0, 0, 0, 1 阅读全文
posted @ 2018-12-23 16:50 MockingBirds 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-3 程序存储问题 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁 阅读全文
posted @ 2018-12-01 00:48 MockingBirds 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1.你对贪心算法的理解 贪心算法总是做出当前最好的选择,而不是做出整体的最好选择。即每次都找局部最优解,而不考虑全局最优解。 2.请说明汽车加油问题的贪心选择性质 每次加油都选取能够到达的最远的加油站,如果剩余油量能够到达下一个加油站,则选择不加油,反之选择加油 3.·请说明在本章学习过程中遇到的问 阅读全文
posted @ 2018-12-01 00:32 MockingBirds 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 数字三角形 2.问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条 阅读全文
posted @ 2018-11-11 14:17 MockingBirds 阅读(117) 评论(0) 推荐(0) 编辑
摘要:  提交作业  提交作业 1.你对动态规划算法的理解 动态规划可以解决最优解的问题,当一个最优解问题的解包含了其子问题的最优解,我们就说这个问题具有最优子结构。动态规划的过程就是通过求得最优子结构的过程从而求得最优解。因此我们可以通过递归思想来求得子问题的解。但是动态规划也存在一些问题,在求得子问 阅读全文
posted @ 2018-11-04 22:56 MockingBirds 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 1. 实践题目 7-2 改写二分搜索算法 2. 问题描述 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。 输入格式: 输入有两行: 第一行是n值和x值; 第二行 阅读全文
posted @ 2018-10-20 15:10 MockingBirds 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1.二分法思想的体会 对定义的理解:二分法,是把问题一分为二的方法。在单调区间[a, b]中取中点c,把问题分成[a, c]和[c, b]两个问题,通过不断二分,从而简化问题,解决问题。 要求:当数据量或计算量很大,序列需要排好序 基本思想:假设数据是按升序排序的,给定一个值key,从序列a的中间位 阅读全文
posted @ 2018-10-17 20:31 MockingBirds 阅读(105) 评论(0) 推荐(0) 编辑