代码改变世界

算法第五章作业

2018-12-24 12:44 by linzexuan, 224 阅读, 0 推荐, 收藏, 编辑
摘要:算法第五章作业 1. 你对回溯算法的理解(2分) 回溯法是一种搜索算法,通过对问题构造相应的解空间树,进行深度优先策略的搜索。常遇到的有子集树和排列数两种解空间树。在搜索的过程中,可以通过题目的具体情况,利用约束函数、限界函数等剪枝函数对解空间树进行剪枝,剪去不可行子树,使得算法的时间复杂度减低。 阅读全文

算法第五章上机实践

2018-12-21 11:21 by linzexuan, 219 阅读, 0 推荐, 收藏, 编辑
摘要:算法第五章上机实践 1. 实践题目:工作分配问题 7-2 工作分配问题 2. 问题描述 7-2 工作分配问题 (20 分) 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输 阅读全文

算法第四章实践报告

2018-12-01 11:27 by linzexuan, 195 阅读, 0 推荐, 收藏, 编辑
摘要:实践报告 1. 实践题目 7-1 最优合并问题 2. 问题描述 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 阅读全文

第四章作业

2018-11-30 11:23 by linzexuan, 157 阅读, 0 推荐, 收藏, 编辑
摘要:算法第四章作业 1. 你对贪心算法的理解(2分) 贪心算法的基本要素:贪心选择性质和最优子结构性质。 在对问题求解时,每一步都体现贪心选择的性质,即总是做出在当前看来最好的选择。故每次选取当前的最优解,它依赖于以往的选择, 而不是依赖于将来的选择,即最终结果一定包含了上一步的最优选择。 2. 请说明 阅读全文

算法第三章上机实践报告

2018-11-10 13:56 by linzexuan, 262 阅读, 0 推荐, 收藏, 编辑
摘要:第三章上机实践报告 1. 实践题目 7-3 编辑距离问题 (30 分) 2. 问题描述 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数 阅读全文

第三章作业

2018-10-30 08:40 by linzexuan, 123 阅读, 0 推荐, 收藏, 编辑
摘要:第三章 动态规划 1)对动态规划的理解 动态规划的基本思想:将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。 但动态规划中存在重叠子问题的性质,会造成时间复杂度的增加,使算法的性能变差。 在用动态规划算法时,会用一个表来记录所有已经解决的子问题的答案,只要计算过就 阅读全文

算法第二章上机实践报告

2018-10-14 12:34 by linzexuan, 382 阅读, 0 推荐, 收藏, 编辑
摘要:算法第二章上机实践报告 1. 实践题目 7-2 改写二分搜索算法 (20 分) 题目来源:《计算机算法设计与分析》,王晓东 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组 阅读全文

第二章作业

2018-10-13 14:50 by linzexuan, 154 阅读, 0 推荐, 收藏, 编辑
摘要:第二章作业 1.二分思想的体验 二分法思想通过利用有序数据的特点,一定程度上降低了算法的平均时间复杂度O(log(n))。 以二分搜索算法为例: 基本思想:将有序的元素数组a[n]分成个数大致相同的两组: 取a[n/2]与目标元素x进行比较: a) 若x=a[n/2],则找到x且算法终止; b) 若 阅读全文