摘要: 恢复内容开始 1.实践题目 :工作分配问题 2.问题描述:设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 3.算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法 阅读全文
posted @ 2018-12-24 10:29 calibun 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 1.你对回溯算法的理解 答:回溯法是一个既带有系统性又带有跳跃性的搜索算法。它在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。 2.请说明“子集和”问题的解空间结构和约束函数 答:解空间结构:针对解空间的每一个解,检测其是否被选择,如果是,则标记为1;如果不是,则标记为0,并且继续搜索 阅读全文
posted @ 2018-12-24 10:11 calibun 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-1最优合并问题 2.问题描述 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还 阅读全文
posted @ 2018-11-29 20:52 calibun 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.你对贪心算法的理解 贪心算法通过一系列的选择来得到问题的解。它所做的每个选择都是当前状态下局部最好选择,即贪心选择。 2.请说明汽车加油问题的贪心选择性质 汽车加油的贪心选择性质是每次都尽可能走得远再加油。 3.请说明在本章学习过程中遇到的问题及结对编程的情况 问题不大,只要找到怎么满足贪心选择 阅读全文
posted @ 2018-11-29 20:40 calibun 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-3 编辑距离问题 2.问题描述 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 B的编辑距离,记为d( 阅读全文
posted @ 2018-11-06 20:31 calibun 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1.对动态规划的理解 动态规划与分治法相似,基本思想也是将求解问题分解成几个子问题。然而动态规划的子问题往往不是独立的,且动态规划适用于求解最优化问题。 2.分别列出编程题1、2的递归方程 (1)c[i][j]=c[i-1][j-1]+1 i,j>0;xi != yi ,max{c[i][j-1], 阅读全文
posted @ 2018-11-06 20:12 calibun 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 第一题:输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 用二分搜索法,将若干个元素分成基本相同的两部分,x与a[n/2]比较,每次搜索数组的大小减一半。算法最坏情况下,时间复杂 阅读全文
posted @ 2018-10-13 22:21 calibun 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 第一道题是考察排序,用到了许多数据结构的知识,第二道题是关于逆序数的,不算太难。这两道题考察的比较基础,回顾一下书本就可以了。 阅读全文
posted @ 2018-10-13 21:32 calibun 阅读(86) 评论(0) 推荐(0) 编辑