摘要: 1、对回溯算法的理解 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为"回溯点"。 (1)回溯法解题时通常包含3个步骤: 阅读全文
posted @ 2018-12-23 01:14 打死也不吃香菜 阅读(1881) 评论(1) 推荐(1) 编辑
摘要: 1、实践题目 工作分配问题 2、问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式:输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作 阅读全文
posted @ 2018-12-22 00:01 打死也不吃香菜 阅读(5400) 评论(0) 推荐(0) 编辑
摘要: 1、什么是贪心算法 贪心算法采用自顶向下,以迭代的方法做出相继的贪心选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题,通过每一步贪心选择,可得到问题的一个最优解,虽然每一步上都要保证能获得局部最优解,但由此产生的全局解有时不一定是最优的。 贪心算法总是做出在当前看来最好的选择。也就是贪心 阅读全文
posted @ 2018-12-02 19:37 打死也不吃香菜 阅读(3822) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目 删数问题 2、问题描述 给定n位正整数a,去掉其中任意k(k≤n)个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最小的删数方案。 输入格式:第 1 行是1 个正整数 a。第 2 行是正整数k。 输出格式:输出最 阅读全文
posted @ 2018-11-30 23:00 打死也不吃香菜 阅读(1574) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目 编辑距离问题 2、问题描述 设A和B是2个字符串,对于给定的字符串A和字符串B,要用最少的字符操作(包括①删除一个字符;②插入一个字符;③将一个字符改为另一个字符)将字符串A转换为字符串B 而将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 B的编辑距离,记为d(A,B)。 阅读全文
posted @ 2018-11-12 00:29 打死也不吃香菜 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 1、对动态规划算法的理解 (1)基本思想: 动态规划算法的基本思想与分治法类似:将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解中得到原问题的解。但是,与分治法不同的是,为了避免重复多次计算子问题,动态规划算法用一个表记录所有已解决的子问题的答案,不管该子问题以后是否被利用,只要 阅读全文
posted @ 2018-10-25 22:14 打死也不吃香菜 阅读(1166) 评论(0) 推荐(0) 编辑
摘要: 1、什么是二分思想? 二分思想可以理解为是一种将一个大问题分成两个子题,当每次分析完两个子问题后,舍弃其中一个不符合条件的子问题,再将符合条件的子问题一分为二,反复循环搜索判断的操作,直至找到所求的数值或者子问题不能再一分为二时为止的思想。 2、二分搜索算法 二分搜索算法是运用二分思想和分治策略的典 阅读全文
posted @ 2018-10-22 17:30 打死也不吃香菜 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目: 改写二分搜索算法 2、问题描述: 设数组a[0:n-1]已排好序,输入一个整数x。 ①当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。 ②当x在数组中时,i和j相同,均是x在数组中的位置。 输入:第一行是n值和x值,第二行是n个不相同的整数组成的非降序序列,每个 阅读全文
posted @ 2018-10-20 00:34 打死也不吃香菜 阅读(909) 评论(0) 推荐(0) 编辑