摘要: 你对回溯算法的理解(2分) 答:回溯算法就是先选一条路走,能走就走,不能则上一步的选择返回,换一条路走。 请说明“子集和”问题的解空间结构和约束函数(2分) 答:解空间结构:子集树 约束函数:判断当前的left是否比源数组的最小数还小;每一次要加入某一数据时判断是否比目标值大;判断是否已经扫描完源数 阅读全文
posted @ 2018-12-23 17:08 软工LY 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 实践题目 :工作分配问题 问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用 阅读全文
posted @ 2018-12-23 17:04 软工LY 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 实践报告任选一题进行分析。内容包括: 1.实践题目 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带 阅读全文
posted @ 2018-12-02 19:00 软工LY 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 1.你对贪心算法的理解 贪心算法就是在解决问题时总是选择当前最优的解,也就是寻找局部最优的情况,并不从整体上考虑最优解。 2.请说明汽车加油问题的贪心选择性质 题目来源:王晓东《算法设计与分析》 一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使 阅读全文
posted @ 2018-12-02 18:57 软工LY 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 动态规划 我们知道,问题可以采用动态规划算法进行解决的一个重要性质即是该问题必须具备最优子结构性质,所谓的最优子结构性质用大白话说就是指原问题的最优解必然包含了原问题的子问题的一个最优解。 题目1 for(i=1;i<n;i++) { max=0; p[i]=-1; for(k=0;k<i;k++) 阅读全文
posted @ 2018-11-02 23:32 软工LY 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 实践题目 数字三角形 问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 算法描述 for(i=n-1;i>=1;i--) for(j=1;j<=i;j++) { if(a[i 阅读全文
posted @ 2018-11-02 23:26 软工LY 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 在学习二分法的过程中,我认为这个算法思想是较为简单,而且也容易理解。 利用二分法查找可以大大降低时间复杂度,例如顺序查找复杂度为O(n),而用二分法查找则为O(logn) 学习二分法中主要遇到的不足/难点:1.对题目分析有困难,不知道入手点在哪儿。2.没注意到是有序还是无序,忘记排序。或者顺序从小到 阅读全文
posted @ 2018-10-14 11:42 软工LY 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 实践题目:二分查找 问题描述: 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 算法描述: while (left <= right) { int middle = (left 阅读全文
posted @ 2018-10-14 11:36 软工LY 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 第一周学c++编程,不知道怎么暂停黑窗口,通过上网查资料懂得添加 system("Pause") 来暂停。 下周想学更多的东西。 阅读全文
posted @ 2017-09-15 18:17 软工LY 阅读(182) 评论(0) 推荐(0) 编辑