2018年12月24日

摘要: 1、实践题目 :工作分配问题 2、问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示 阅读全文
posted @ 2018-12-24 11:10 (+奇奇怪怪 阅读(82) 评论(0) 推荐(0) 编辑
 
摘要: 1.你对回溯算法的理解(2分) 回溯算法实际上是一个类似枚举的深度优先搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回(也就是递归返回),尝试别的路径。回溯法一般用递归来解决。 2.请说明“子集和”问题的解空间结构和约束函数(2分) “子集和”问题的解空间结 阅读全文
posted @ 2018-12-24 10:59 (+奇奇怪怪 阅读(84) 评论(0) 推荐(0) 编辑

2018年12月1日

摘要: 1.对贪心算法的理解 贪心算法通常都需要排序,所以要记熟sort函数的用法。贪心算法总是做出在当前看来是最好的选择,即它只是某种意义上的局部最优选择,只有当整体选择也是最优的时候,贪心算法才是正确的。在一些情况下,即使贪心算法不能得到整体最优解,但其最终结果却是最优解的很好的近似解。 2.汽车加油问 阅读全文
posted @ 2018-12-01 22:49 (+奇奇怪怪 阅读(79) 评论(0) 推荐(0) 编辑
 
摘要: 1.实践内容 程序存储问题 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多 阅读全文
posted @ 2018-12-01 20:51 (+奇奇怪怪 阅读(102) 评论(0) 推荐(0) 编辑

2018年11月6日

摘要: 1.对动态规划的理解 动态规划与分治法类似,基本思想也是将待求解问题分解成若干个子问题,先求子问题再通过子问题得到原问题的解。但是动态规划和分治法的不同在于它经分解得到的子问题是相互联系的。它通过利用已知的子问题解决需要求解的问题减少了需要耗费的时间。动态规划算法适用于解最优化问题,通常可按以下4个 阅读全文
posted @ 2018-11-06 00:08 (+奇奇怪怪 阅读(93) 评论(0) 推荐(0) 编辑

2018年11月5日

摘要: 1.实践题目 2.问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下来 n行是数字三 阅读全文
posted @ 2018-11-05 22:29 (+奇奇怪怪 阅读(93) 评论(0) 推荐(0) 编辑

2018年10月14日

摘要: 2.问题描述 题目来源:《计算机算法设计与分析》,王晓东 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。 输入格式: 输入有两行: 第一行是n值和x值; 第二行 阅读全文
posted @ 2018-10-14 23:57 (+奇奇怪怪 阅读(109) 评论(0) 推荐(0) 编辑
 
摘要: 1.二分法是从给定的排好序的n个元素中找出特定元素x的方法。它运用了分治法的思想,将问题规模为n的问题不断分解为大致相同的两半,取a[n/2]和要查找的x作比较。如果x = a[n/2],即找到x,算法结束。如果x < a[n/2],则只在数组a的左半部继续查找,否则,只在右半部继续查找。相比较顺序 阅读全文
posted @ 2018-10-14 15:50 (+奇奇怪怪 阅读(78) 评论(0) 推荐(0) 编辑