摘要: 1.实践题目 :工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示 阅读全文
posted @ 2018-12-24 01:31 杨纸巾 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 1.对回溯算法的理解 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优s搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退 阅读全文
posted @ 2018-12-24 01:17 杨纸巾 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 删数问题 2.问题描述 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新 的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最 小的删数方案。 输入格式: 第 1 行是1 个正整数 a。第 2 行是正整数k。 输出格式: 输 阅读全文
posted @ 2018-12-01 16:42 杨纸巾 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1.对贪心算法的理解 贪心算法是指,在对问题求解时,总是做出在当前看来是最好是选择。也就是说,不从整体最优上加以考虑,它所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以 前的过程不会影响以后的状态,只与当 阅读全文
posted @ 2018-12-01 16:07 杨纸巾 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 1.时间题目:最大字段和 2.问题描述: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 输入格式: 输入有两行: 第一行是n值 阅读全文
posted @ 2018-11-11 22:34 杨纸巾 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1.对动态规划算法的理解: 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应一个值,我们希望能找到具有最优值的解。动态规划算法与分治法类似,基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解中进而得到原问题的解。这种方法与分 阅读全文
posted @ 2018-11-11 19:56 杨纸巾 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 实践题目:二分查找 问题描述: 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 输入格式: 输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。 输出格式: 输出x 阅读全文
posted @ 2018-10-14 13:03 杨纸巾 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1、对二分法思想的体会: 二分搜索方法充分利用了元素间的次序关系,采用分治策略,其基本思想是将n个元素分成个数大致相同的两半,取a[n/2]与x作比较。如果x=a[n/2],则找出x,算法终止;如果x<a[n/2],则只在数组a的左半部继续搜索x;如果x>a[n/2],则只在数组a的右半部继续搜索x 阅读全文
posted @ 2018-10-14 12:29 杨纸巾 阅读(317) 评论(0) 推荐(0) 编辑