摘要: 1.实践题目 :工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示 阅读全文
posted @ 2018-12-24 19:50 鹿瞳 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 你对回溯算法的理解(2分) 用回溯法解决问题,首先要得到问题的解空间树,然后按深度优先策略,从根节点开始搜索整个解空间。算法搜索至解空间树的任一结点时,先判断该节点是否包含问题的解,如果一定不包括,则删去该子树,否则进入该子树依旧用深度优先策略搜索。用回溯法解决问题最后一定要回溯到根。 请说明在本章 阅读全文
posted @ 2018-12-24 18:09 鹿瞳 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 实践报告任选一题进行分析。内容包括: 1.实践题目 题目来源:王晓东《算法设计与分析》 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使 阅读全文
posted @ 2018-12-02 16:11 鹿瞳 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1.你对贪心算法的理解(2分) 贪心算法在每次做选择的时候并不从整体最优上加以考虑,它所作出的选择只是当前状态下的最好选择。能用贪心算法解决的问题要具有这两个性质:贪心选择性质和最优子结构性质。 贪心选择性质就是问题的整体最优解可以通过一系列的局部最优的选择,即贪心选择来达到。证明这个性质可以用反证 阅读全文
posted @ 2018-12-02 15:32 鹿瞳 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 算法第三章 实践报告 1.实践题目 7-3 编辑距离问题 (30 分) 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 阅读全文
posted @ 2018-11-11 15:08 鹿瞳 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1. 对动态规划算法的理解:动态规划的基本思想就是将待求解的问题分解成若干子问题,先求解子问题,然后从这些子问题的解得到原问题的解。为了避免子问题被重复计算多次,用一个表来记录所有已解决的子问题的答案,不管该子问题以后是否被用到,计算过的结果都填入表中。 2. 编程题1的递归方程: i个数组成的序列 阅读全文
posted @ 2018-11-10 20:05 鹿瞳 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 实践报告任选一题进行分析。内容包括: 1.实践题目 题目来源:《计算机算法设计与分析》,王晓东 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。 输入格式: 输入 阅读全文
posted @ 2018-10-14 12:28 鹿瞳 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 第二章作业 1、对二分法思想的体会 二分搜索法的前提是给定的元素已经排好序,从中找特定的元素。第一步将n个元素划分成大致相等两部分,将最中间的元素与要找的元素进行比较,如果相等,就找到这个元素,算法终止;如果小于要找的元素,就继续在左半部分查找;如果大于要找的元素,就继续在右半部分查找。重复执行几次 阅读全文
posted @ 2018-10-14 11:23 鹿瞳 阅读(107) 评论(0) 推荐(0) 编辑