摘要: 实践题目 :工作分配问题 问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用 阅读全文
posted @ 2018-12-23 19:04 枸杞他哥 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 你对回溯算法的理解(2分)它在问题的解空间树中,按深度优先策略,从根节点出发搜索解空间树。算法搜索至解空间树的任一结点时,先判断该结点是否包含问题的解。如果不包含,则跳过对该结点的为根的子树的搜索,逐层向祖宗结点回溯。 请说明“子集和”问题的解空间结构和约束函数(2分) 解空间结构为(a1,a2.. 阅读全文
posted @ 2018-12-23 18:47 枸杞他哥 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 实践题题 程序存储问题 问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储 阅读全文
posted @ 2018-12-02 19:34 枸杞他哥 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 你对贪心算法的理解(2分) 贪心算法是通过一系列的选择得到的解,它所做的每一个选择都是当前状态下局部最好的选择,即贪心选择。针对当前的状况做出最优的选择,也就是说贪心算法并不是从整体上加以考虑全局,只是在某种意义上做出的局部最优选择,而许多问题在求解的过程,运用贪心策略可以得到最优解或者较优解。 请 阅读全文
posted @ 2018-12-02 18:37 枸杞他哥 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 算法描述。 第一题:1,、先把所有的数存进一个数组里。 2、最顶层的最大值从下一层的最大值的基础上求得,以此类推。所以从最底层开始选择,倒数第二层中选择下一层相邻数字的最大值相加原本的数字,在原数组的基础上修改每一个数字,自底向上,直到修改最顶层的数字为止。 第二题:初始化一个二维数组,m[i][j 阅读全文
posted @ 2018-11-11 20:00 枸杞他哥 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 2. 更改AA或者BB字符,N[i,j]N[i,j]等同于N[i−1,j−1]N[i−1,j−1] 3. 删除AA字符或者增加BB字符,N[i,j]N[i,j]等同于N[i−1][j]+1N[i−1][j]+1 4. 删除BB字符或者增加AA字符,N[i,j]N[i,j]等同于N[i][j−1]+1 阅读全文
posted @ 2018-11-11 19:58 枸杞他哥 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 你对动态规划算法的理解(2分)动态规划算法和分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于动态规划法求解的问题,经分解得到的子问题往往不是互相独立的。 分别列出编程题1、2的递归方程(2分)第一题没有用动态规划,用 阅读全文
posted @ 2018-11-11 19:40 枸杞他哥 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1、请谈一下你对二分法思想的体会 二分法是一种查找速度很快的方法,最坏情况下时间复杂度为O(logN),但是前提是需要将数据排好序,如果对于数量大又有序的数据,查找方法用二分法是很快捷的。 2、结对编程情况汇报 编程最后一题对题目有理解偏差,最后跟同学讨论过后,发现与逆序对有关,顺利解决了问题。选择 阅读全文
posted @ 2018-10-14 21:27 枸杞他哥 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 实践题目:两个有序序列的中位数 问题描述: 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列,的中位数指A​(N−1)/2​​的值,即第⌊个数(A​0​​为第1个数)。 算法描述 输入两个非降序数列到两个长度相同的数组,再初始化一个新的数组,长度为两个数组的总和, 阅读全文
posted @ 2018-10-14 21:09 枸杞他哥 阅读(88) 评论(0) 推荐(0) 编辑