- 博客(8)
- 收藏
- 关注
转载 第五章作业
1.回溯算法的理解 回溯法是一个既带有系统性又带有跳跃性的搜索算法。它在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜 索至解空间树的任一结点时,先判断该结点是否包含问题的解,如果肯定不包含,则跳过对以该结点为根的子树的搜索,逐层向其祖先 结点回溯。否则,进入该子树,继续按深度优先策略搜索。 2.“子集和”问题的解空间结构和约束函数 解空间结构是一个n层二叉...
2018-12-19 11:07:00
146
转载 第五章实践报告
1.实践题目:第2题(工作分类问题) 2.问题描述: 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用。 输出格式: 将计算出的最小总费用输出到屏幕。 输入样例...
2018-12-17 20:07:00
129
转载 第四章实践报告
1.实践题目 第三题(程序存储问题) 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。 输入格式: 第一行是2 个正整数,分...
2018-12-01 13:26:00
143
转载 第四章作业
1. 贪心算法的理解 贪心算法总是做出在当前看来是最好的选择,贪心算法并不是从整体最优上加以考虑,它所做出的的选择只是在某种意义上的局部最优选择. 即在当前状态下做出最好的选择,,再去解出这个选择后产生的子问题. 2. 汽车加油问题的贪心选择 为了使加油的次数最少,我们的贪心选择应该是在每次前行时,检查当前的油是否足够行驶到下一站,够则不加,不够则加. C++代码: #inc...
2018-12-01 13:15:00
164
转载 第三章上机实验报告
1.实践题目:数字三角形 问题描述:给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 2.问题解析: 这其实是一道非常简单的动态规划问题。问题解决办法是建一个表,初值为三角形对应位置的值,之后以填表覆盖的方式,自底向上的把三角形的路径和进行更新。 递归方程为dp...
2018-11-11 19:41:00
233
转载 第三章作业
1.动态规划的理解 动态规划算法适用于解最优化问题,具体有如下三个基本步骤设计: (1)找出最优解的性质 (2)递归地定义最优值 (3)以自底向上的方式计算出最优值 同时它兼具:1.最优子结构 2. 重叠子问题 3. 备忘录方法 这几项基本要素。 能够保存已解决子问题的答案,避免了重复进行大量计算,从而得到多项式时间算法。 2.编程题1、2的递归方程 1. 设dp[...
2018-11-04 23:37:00
159
转载 算法第二章实践报告
题目:二分查找 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 感想:其实这道题很简单的,只需要给二分查找的比较算法中添加一个简单的计数器就可以了,但要注意这个计数器必须放在二分查找左右比较的遍历代码中的第一行,才能完成正确的比较。 但是由于函数只...
2018-10-21 23:51:00
89
转载 二分搜索算法和结对编程感想
二分搜索算法 1.概述:二分搜索算法是一种运用了分治思想的典型查找算法,充分利用了元素间的次序关系,算法的最坏情况下的时间复杂为O(logn) 2.主要思路:将n个元素分成个数大致相同的两半,取a[n/2]与x作比较。如果x=a[n/2],则找到x,算法终止;如果x<a[n/2],则只在数组a的继续搜索x;如果x>a[n/2], 则只在数组a的右半部继续搜索x。 3. 算法实现:...
2018-10-15 00:14:00
179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅