- 博客(8)
- 收藏
- 关注
转载 算法第五章上机实践报告
一、实践题目:工作分配问题二、问题描述: 将现有的n件工作分配给n个人。已知将工作i分配给第j个人所需的费用为cij 。对于给定的工作费用,为每一个人分配一件不同的工作,并使总费用达到最小。可将问题转化为找到一个排列,使得cij的和最小,即排列树问题。三、算法描述: ①解空间:类似于旅行售货员问题的一颗排列树。 ...
2018-12-21 00:19:00 92
转载 算法第五章作业
一、对回溯算法的理解 我认为回溯算法其实是一种近似于“试探”的过程,它根据一个树形的结构,进行一层层的试探,最终得到想要的结果。在每一次的递归中,当出现符合条件的答案时,便保存当前的状态,进入下一层的计算;否则,返回上一层,进行下一步的计算。所以在回溯算法中必须给出限界函数,否则递归便不会终止。二、“子集和”问题:解空间结构和约束函数 解空间:被选择的...
2018-12-20 23:16:00 80
转载 算法第四章上机实践报告
一、实践题目:删数问题二、问题描述: 给定一个n位的正整数a,去掉其中任意k(k≤n) 个数字后,剩下的数字按照原次序排列成一个的新的正整数。在给定的n位正整数a和正整数k的情况下,输出完成该操作后剩下的正整数。三、算法描述: 正整数的位数不定,用long long去存不一定存的下,所以用一个字符数组str[]来存储。此处运用一种贪心策略,不停的对...
2018-12-01 11:49:00 78
转载 算法第四章作业
一、对贪心算法的理解 概念:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 性质:贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。 ...
2018-12-01 11:13:00 105
转载 算法第三章上级实践报告
1. 实践题目: 编辑距离问题2. 问题描述 给出两个字符串A和B,要用最少的字符操作将字符串A转换为字符串B。字符操作包括: (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。编辑距离即将字符串A变换为字符串B所用的最少字符操作数,可记为d(A,B),求出给出的两个字符串A和B的编辑距离。3. 算法描述 定义一个dp[i...
2018-11-05 11:52:00 68
转载 算法第三章作业
一、对动态规划算法的理解 动态规划算法可以将该问题的规模细分为若干个子问题,并取子问题的最优解,逐渐将规模放大到现有,直到可从递归的出口得出最终的答案。二、两道编程题的递归方程 7-1:dp[i]表示前i个数字在包含a[i]a[i]情况下的最长上升子序列的长度;for(int i=0;i<n;i++){ dp[i]=1; ...
2018-10-28 22:33:00 81
转载 算法第二章上机实践报告
1.实践题目:两个有序序列的中位数2.问题描述: 输入一个n(0<N<=1e5),代表两个有序序列的长度,随后两行分别键入两个非降序序列,求出两个序列的合并后的中位数,此处中位数指有序序列中的第(N+1)/2个数,下标从0开始。3.算法描述: 创建两个数组a,b用来保存两个有序序列,设定四个下标al,ar,bl,br用来表示两个序列的...
2018-10-21 13:13:00 74
转载 第1、2周算法课课后体会及结对编程感想
第一、二周的算法课主要讲授了以下内容:递归:直接或间接地调用自身的算法称为递归算法,亦称函数自身的嵌套调用。典型的例子:求解斐波那契数列,汉诺塔问题,整数划分问题等。递归较难理解,但实行起来相对而言比较简洁明了,但递归的空间开销往往非常大,即空间复杂度较高,运行时间可能会比较长。分治法:将一个规模为n的问题分解为K个规模较小的子问题。典型运用分治策略的例子:二分搜索...
2018-10-14 20:34:00 111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人