摘要: 1.实践题目 :工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示 阅读全文
posted @ 2018-12-24 19:52 LLB1 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1.你对回溯算法的理解 我觉得回溯法是一种根据条件来进行选优遍历的算法。它是根据条件来向前搜索,以遍历出经过约束条件和限界条件筛选的所有结果从而得到最优解来解决问题。 2.请说明“子集和”问题的解空间结构和约束函数 “子集和”问题的解空间树是一棵子集树,一棵二叉树,与0-1背包问题类似,每层判断该数 阅读全文
posted @ 2018-12-24 19:30 LLB1 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 数字三角形 2.给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述 递归方程式为b[i][j]=max(b[i+1][j]+a[i][j],b[i+1][j+ 阅读全文
posted @ 2018-12-05 19:28 LLB1 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1.你对动态规划算法的理解 我觉得动态规划算法的基本思想与分治法类似,也是将要解决的问题分解成若干个子问题去求解,通过分析问题与问题状态之间的关系,使得问题可以通过递推的方式去解决。 2.分别列出编程题1、2的递归方程 编程题1:c[i][j] = max{c[i][j-1], c[i-1][j]} 阅读全文
posted @ 2018-12-05 19:17 LLB1 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目:删数问题 2.问题描述:给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新 的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最 小的删数方案。 3.算法描述:每删一个数字时,最优的选择是从左到右遍历,删掉第一个开始递减的数字 阅读全文
posted @ 2018-12-02 19:54 LLB1 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1.你对贪心算法的理解 贪心算法在我看来是一种非常原始基本的算法,它表现的是我们作为人最原始的欲望:总是做出对当前情况最有利的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 当然,并不是所有问题都能用贪心算法解决,只有当局部最优解合起来时与问题最终的最优解结果是一致的 阅读全文
posted @ 2018-12-02 19:40 LLB1 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 实践题目:二分查找 问题描述: 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 算法描述: 伪代码: while (左边界left <= 右边界right) { middle 阅读全文
posted @ 2018-10-14 18:24 LLB1 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1、请谈一下你对二分法思想的体会 我对二分法在高中时已有所耳闻,当时看的是牛顿的二分法用来解决函数零点的所在区间和零点的精度问题。 应用二分法比较重要的一点是要先看数据是否有序,无序的话一定要先排序,然后就是要找准分界点,做好这两点应用二分法解决问题就不会有太大错误了。 二分法在处理大数据时效率显然 阅读全文
posted @ 2018-10-14 15:59 LLB1 阅读(204) 评论(0) 推荐(0) 编辑