摘要: 1.你对回溯算法的理解(2分) 基本概念:回溯法是一个类似枚举搜索的过程,在这个过程中找到解,如果在搜索到一的结点的时候不满足题目要求,就回溯到上一个结点,再搜索别的路径是否为最优解。 特点:采用深度优先的搜索方法,若需要求问题的所有解,则回溯到根结点,若只需求一个解,则只需搜索到一个点即可结束。 阅读全文
posted @ 2018-12-19 21:51 imweili 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 实践题目 (工作分配问题) 问题描述 7-2 工作分配问题 (20 分) 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。 阅读全文
posted @ 2018-12-18 09:37 imweili 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 1.你对贪心算法的理解(2分) (1)贪心算法总是做出当最优的选择,最后得到整体的最优解。 (2)一个问题可以分为多个局部,每个局部都有最优解, 若要用贪心算法求解某问题的整体最优解,必须首先证明贪心思想在该问题的应用结果就是最优解。 2.请说明汽车加油问题的贪心选择性质(2分) 2.贪心策略: 由 阅读全文
posted @ 2018-11-28 10:30 imweili 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 7-1最优合并问题 1.问题描述: 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确定合并 阅读全文
posted @ 2018-11-28 09:31 imweili 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1.你对动态规划算法的理解(2分) 动态规划具备两个重要性质:最优子结构性质和子问题重叠性质。设计动态规划算法首先需要刻画最优子结构,即问题的最优解包含其子问题的最优解。在采用自顶向下解决问题时,有些子问题被重复计算多次,动态规划利用了此重叠性质,对每个问题只解一次,从而获得较高的解题效率。 2.分 阅读全文
posted @ 2018-11-12 00:01 imweili 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下 阅读全文
posted @ 2018-11-11 23:33 imweili 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 1.对二分搜索的理解 二分搜索法采用了分治策略,将一个规模为n(必须是较小型的规模)的问题分成大小相同的两半,根据实际情况,递归或非递归地解决这些子问题,再将这些子问题的解合并到原问题的解中。通过做题我发现它必须是在有序的元素中进行,不能在无序的元素中使用,我想这是因为未排好序的数组元素会造成二分搜 阅读全文
posted @ 2018-10-21 21:35 imweili 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 改写二分搜索算法 2.问题描述 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 3.算法描述 在二分搜索算法的基础上进行小部分的修改。题目要求我们将一个数字插入到 阅读全文
posted @ 2018-10-21 21:26 imweili 阅读(189) 评论(0) 推荐(0) 编辑