摘要: 一、对回溯法的理解 基本思想: 构建问题的解空间树,在其解空间树中,从根节点出发,进行深度优先搜索。在搜索过程中,对解空间 树的每个结点进行判断,判断该结点是否包含问题的解,若肯定不包含,则跳过对以该结点为根的子树的 搜索,逐层向其祖先结点回溯。否则,则进入该子树,继续按深度优先策略搜索。 步骤: 阅读全文
posted @ 2018-12-21 15:50 王浩鹏 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-2 工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数 阅读全文
posted @ 2018-12-21 15:40 王浩鹏 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目:程序存储问题 2、题目形式:设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多 阅读全文
posted @ 2018-12-02 21:05 王浩鹏 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 1.你对贪心算法的理解 贪心算法是通过一系列的选择来得到问题的解。它所做的每一个选择都是当前状态下局部最好选择,既贪心选择。 重要性质: 贪心选择性质:指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。动态规 阅读全文
posted @ 2018-12-02 21:02 王浩鹏 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 一、实践题目 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 二、问题描述 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下来 n行是数字三 阅读全文
posted @ 2018-11-03 22:10 王浩鹏 阅读(109) 评论(0) 推荐(0) 编辑
摘要: (1)对二分法的理解: 以二分搜索为例,不断取中间值把区间分成两部分,然后再在生成新区间的基础上再次取中点切分。 二分法的一个好处是,取中点把区间分开之后,相当于简化了问题的复杂度,舍去的一部分区间就没有必要进行搜索了,在越来越简化的内容上搜索可以大大提高程序的效率,对人对机器来说都有好处。 (2) 阅读全文
posted @ 2018-10-27 23:23 王浩鹏 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 1、对动态规划算法的理解 (1)基本思想: 动态规划算法的基本思想与分治法类似:将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解中得到原问题的解。但是,与分治法不同的是,为了避免重复多次计算子问题,动态规划算法用一个表记录所有已解决的子问题的答案,不管该子问题以后是否被利用,只要 阅读全文
posted @ 2018-10-27 23:21 王浩鹏 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​为第1个数)。 二、问题描述 输入格式: 输入分三行。第一行给出序列的公共长度N(0<N≤1000 阅读全文
posted @ 2018-10-21 22:49 王浩鹏 阅读(268) 评论(0) 推荐(0) 编辑