代码改变世界

算法第5章作业

2018-12-24 13:18 by 葡萄葡萄葡葡萄, 154 阅读, 0 推荐, 收藏,
摘要:1、对回溯算法的理解 回溯法可以系统地搜索一个问题的所有解或任意解,它按照深度优先策略,从根节点出发搜索解空间树。搜索至某一节点时,先判断该节点是否符合条件,如果不符合则返回父节点,否则,继续按深度优先策略搜索,如果求一个问题的一个或多个解,则应考虑设置约束函数和限界函数来降低算法的时间复杂度,提高 阅读全文

算法第5章上机实践

2018-12-20 19:51 by 葡萄葡萄葡葡萄, 181 阅读, 0 推荐, 收藏,
摘要:1、实践题目:工作分配问题 2、问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工 阅读全文

算法第四章实践报告

2018-12-01 20:35 by 葡萄葡萄葡葡萄, 165 阅读, 0 推荐, 收藏,
摘要:1、实践题目 7-1最优合并问题 2、问题描述 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还 阅读全文

算法第4章作业

2018-11-29 23:40 by 葡萄葡萄葡葡萄, 226 阅读, 0 推荐, 收藏,
摘要:1、对贪心算法的理解 贪心算法总是做出在当前看来最好的选择,它并不是从整体上的最优加以考虑,而只是做出局部最优选择。动态规划算法是依赖于子问题的解,在子问题的到解决后才做出相应的选择,而贪心算法选择局部最优解,且贪心算法一般在排好序的基础之上进行选择。如果不确定应该使用贪心算法还是动态规划算法,则应 阅读全文

算法第3章上机实践报告

2018-11-10 19:22 by 葡萄葡萄葡葡萄, 128 阅读, 0 推荐, 收藏,
摘要:1、实践题目 7-1 数字三角形 2、问题描述 3、算法描述 1)输入: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下来 n行是数字三角形各行中的数字。所有数字在0..99 之间。 2)初始化一个行列均大于或等于n的二维数组 3)在原表的基础上填充表格 设数组a[i 阅读全文

算法第3章作业

2018-11-09 15:03 by 葡萄葡萄葡葡萄, 223 阅读, 0 推荐, 收藏,
摘要:1、对动态规划算法的理解 动态规划算法的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后再从这些子问题的解得到原问题的解,但是在求解过程中分解得到的子问题往往不是相互独立的,可以用一个表记录所有已解决的子问题的答案,不管该子问题以后是否被用到,只要被计算过就填入表中。在分析过程中还应写出 阅读全文

算法第二章上机实践报告

2018-10-14 11:51 by 葡萄葡萄葡葡萄, 188 阅读, 0 推荐, 收藏,
摘要:题目 7-2 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。 输入格式: 输入有两行: 第一行是n值和x值; 第二行是n个不相同的整数组成的非降序序列,每个整数 阅读全文

算法设计与分析第二章作业

2018-10-14 11:42 by 葡萄葡萄葡葡萄, 176 阅读, 0 推荐, 收藏,
摘要:二分法思想可以用于查找和排序 用于查找时要求所查找的数组有序,其基本思想是将元素大致分为两半,取中间元素与目标数据进行比较,若目标数据大于中间元素则和此数组的后半段进行比较,反之则与数组的前半段进行比较,可以看出每进行一次比较,待比较数据减少一半,其最坏时间复杂度为O(log n) 例:从{5,15 阅读全文