摘要: 1. 实践题目 工作分配问题 2. 问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表 阅读全文
posted @ 2018-12-23 20:30 焦积食蕉 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1.对回溯算法的理解 回溯法采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案。 2.请说明“子集和”问题的解空间结构和约束函数 子集和的 阅读全文
posted @ 2018-12-23 20:22 焦积食蕉 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 程序存储问题 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多 阅读全文
posted @ 2018-12-02 09:26 焦积食蕉 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 1、对贪心算法的理解: 贪心算法一般有两个重要的性质:贪心选择性质和最优子结构性质。 贪心选择性质:是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。 最优子结构性质:当一个问题的最优解包含其子问题的最优解时,称此问题有最优子结构性质。 2、汽车加油问题的贪心选择性质: 本题中 阅读全文
posted @ 2018-12-02 09:16 焦积食蕉 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 数字三角形 2.问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述 代码如下: #include<iostream>using namespace 阅读全文
posted @ 2018-11-10 18:31 焦积食蕉 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 1、对动态规划算法的理解: 我对动态规划的理解是见一步走一步,将上一步的结果保存,再进行下一步。思想是将主问题分解成若干个子问题,先求解子问题的解,再通过子问题的解来求出主问题的解。 2、编程题一的递归方程: dp[1]=1,dp[i] = max( dp[i], dp[j] + 1 ) ( j < 阅读全文
posted @ 2018-11-10 16:30 焦积食蕉 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 输入格式: 输入共三行:第一行是n值;第二行是n个整数;第三行是x值。 输出格式: 输出x所在的下标(0~n-1) 阅读全文
posted @ 2018-10-14 12:07 焦积食蕉 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 浅谈对二分法思想得体会: 二分法是通过不断排除不可能的来找到所需的一种方法。时间复杂度是O(logn)。我觉得这个方法能有效地将复杂地问题不断分解,成为一个个小问题。提高了解决问题的效率。 对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区 阅读全文
posted @ 2018-10-13 22:37 焦积食蕉 阅读(102) 评论(0) 推荐(0) 编辑