摘要: 1.你对回溯算法的理解 回溯法按深度优先策略搜索问题的解空间树。首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。如果不可行,则跳过对该节点为根的子树的搜索,逐层向其祖先节点回溯;否则,进入该子树,继续按深度优先策略搜索。回溯法的基 阅读全文
posted @ 2018-12-24 23:10 Lucy1234567 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 :工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 3.算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述 解空间: 阅读全文
posted @ 2018-12-20 00:06 Lucy1234567 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目:最优合并问题 2.问题描述: 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要 阅读全文
posted @ 2018-12-02 19:58 Lucy1234567 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 1.对贪心算法的理解 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关 阅读全文
posted @ 2018-12-02 19:30 Lucy1234567 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下来 n行是数字三角形各行中的数字。所有数字在 阅读全文
posted @ 2018-11-11 21:04 Lucy1234567 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 一、动态规划算法的理解 动态规划算法与分治法类似,其基本思想也是将待求解的问题分解成若干个子问题,先求子问题,然后通过子问题的解得到原问题的解。与分治法不相同的是,适合于动态规划法求解的问题,经分解的得到的子问题往往不是相互独立的,具有重叠子问题的性质。动态规划算法适用于解最优化问题: 但是第一部往 阅读全文
posted @ 2018-11-11 20:26 Lucy1234567 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 1.7-1 二分查找 2.问题描述: 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 3.算法描述: 此题为基本的二分查找法并加上比较次数的输出。故在只需要在原来二分搜索的算法 阅读全文
posted @ 2018-10-13 13:41 Lucy1234567 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 一、二分法思想体会 二分搜索算法是运用分治策略的典型例子。在顺序搜索时,需要把数组里的几乎每一个元素与特定元素进行比较,虽然这样的做法简单但也比较机械,花费的时间也比较多(顺序查找的时间复杂度位o(n))。而二分搜索法能更加快速的找到,而且也更贴近人在现实生活中搜索事物所用的方法,即在一堆有序的事物 阅读全文
posted @ 2018-10-10 20:40 Lucy1234567 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 一、二分法思想体会 二分搜索算法是运用分治策略的典型例子。在顺序搜索时,需要把数组里的几乎每一个元素与特定元素进行比较,虽然这样的做法简单但也比较机械,花费的时间也比较多(顺序查找的时间复杂度位o(n))。而二分搜索法能更加快速的找到,而且也更贴近人在现实生活中搜索事物所用的方法,即在一堆有序的事物 阅读全文
posted @ 2018-10-10 16:33 Lucy1234567 阅读(669) 评论(0) 推荐(0) 编辑