摘要: 1.实践题目 :工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 3.算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述) 解空间 阅读全文
posted @ 2018-12-24 15:16 challenge_X 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 你对回溯算法的理解(2分) 回溯法就是先构建一个空间树,通过深度优先策略,从根节点访问到子节点。若访问到某一节点不符合要求,则对其进行剪枝。以相同的方法进行回溯,将新得出的解与原解进行比较,择优选择。 2.请说明“子集和”问题的解空间结构和约束函数(2分) 解空间结构:一个二叉树结构,根结点下的第一 阅读全文
posted @ 2018-12-24 15:15 challenge_X 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序 阅读全文
posted @ 2018-12-02 20:00 challenge_X 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 1.对于贪心算法的理解: 贪心算法通常是自顶向下的方式进行,以迭代的方式作出相继的贪心选择,每做一次贪心选择就将所求问题简化为规模更小的子问题。简单讲就是不断求局部的最优解,最终得到全局的最优解。 2.汽车加油问题的贪心选择性质: 这个问题的思想是每走到一站检查一下当前的油是否足够走到下一站,够的话 阅读全文
posted @ 2018-12-02 19:55 challenge_X 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目: 7-1 数字三角形 2.问题描述: 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述: 动态规划,由下面不断加到上面,然后每一次都找到最优子结构,并记录对 阅读全文
posted @ 2018-11-18 00:15 challenge_X 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 1.你对动态规划算法的理解 动态规划算法是针对一类求最优解的问题的算法,其核心是将一个问题分解成为若干个子问题,部分类似于分治的思想,通过求每一次的最优决策,来得到一个最优解。时间复杂度比较低。 2.分别列出编程题1、2的递归方程 题1: 0 ,i=0,j=0 ;a[i][j]=a[i-1][j-1 阅读全文
posted @ 2018-11-17 23:20 challenge_X 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-1 二分查找 2.问题描述 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 3.算法描述 二分查找的基本思想是将n个元素分成大致相等的两部分,用a[n/2]与 阅读全文
posted @ 2018-10-14 18:38 challenge_X 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1、请谈一下你对二分法思想的体会 二分法的基本思想是将规模较大的问题分解为两个规模较小的与原问题相同的问题,利用递归的方法,逐步逼近答案。最典型的例子是二分搜索算法,将已排好序的n个元素分成个数大致相同的两半,将查找数与中间的数相比,看是否为所查找数,若不是,则利用查找数与中间数的大小关系,可以决定 阅读全文
posted @ 2018-10-14 17:45 challenge_X 阅读(86) 评论(0) 推荐(0) 编辑