2018年12月22日

摘要: 1.你对回溯算法的理解(2分) 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 2.请说明“子集和”问题的解 阅读全文

posted @ 2018-12-22 15:33 黄钦伟 阅读(125) 评论(0) 推荐(0) 编辑

摘要: 1.实践题目 工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 3.算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述) 剪枝:每 阅读全文

posted @ 2018-12-22 15:13 黄钦伟 阅读(108) 评论(0) 推荐(0) 编辑

2018年12月2日

摘要: 你对贪心算法的理解(2分)贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响 阅读全文

posted @ 2018-12-02 19:56 黄钦伟 阅读(117) 评论(0) 推荐(0) 编辑

摘要: 1.实践题目 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序 阅读全文

posted @ 2018-12-02 19:00 黄钦伟 阅读(78) 评论(0) 推荐(0) 编辑

2018年11月4日

摘要: 1. 动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题 阅读全文

posted @ 2018-11-04 21:18 黄钦伟 阅读(90) 评论(0) 推荐(0) 编辑

摘要: 1.数字三角形 2.给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述: int findmax(int i,int j){ if(amax[i][j]!=-1){ ret 阅读全文

posted @ 2018-11-04 20:56 黄钦伟 阅读(87) 评论(0) 推荐(0) 编辑

2018年10月14日

摘要: 1,实践题目二分查找2,问题描述输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。3,算法描述int search(int a[1000],int left,int mid,int 阅读全文

posted @ 2018-10-14 21:49 黄钦伟 阅读(135) 评论(0) 推荐(0) 编辑

摘要: 1、请谈一下你对二分法思想的体会 二分法就是将原题分解为两个小问题,这两个小问题跟原题解法相同,然后用递归的思想,再次将小问题分解为更小的两个子问题,从而逐渐逼近答案。例如让某人写下一个数(1~100的数),可以先猜测大于50不,如果是,再问大于75不,依次逐步提问,从而逼近答案,这种思想就是二分法 阅读全文

posted @ 2018-10-14 19:43 黄钦伟 阅读(72) 评论(0) 推荐(0) 编辑