第五章实践报告

摘要: 1.实践题目 :工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 也就是每个人对每一件工作的的费用不同,当分配时从而出现最优解问题。 3.算法描述(包括解空间, 阅读全文
posted @ 2018-12-23 19:25 岑志健 阅读(106) 评论(0) 推荐(0) 编辑

第五章作业心得

摘要: 1.你对回溯算法的理解(2分) 回溯法它是用深度优先对解空间进行一个系统的搜索问题的所有解的算法,并在回溯的过程中用剪枝函数进行剪枝,从而达到避免无效搜索。 其中定义好问题的解空间与剪枝函数尤为重要。 2.请说明“子集和”问题的解空间结构和约束函数(2分) 3.请说明在本章学习过程中遇到的问题及结对 阅读全文
posted @ 2018-12-23 18:53 岑志健 阅读(128) 评论(0) 推荐(0) 编辑

第四章作业心得

摘要: 1.你对贪心算法的理解(2分) 我觉得 贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考虑一个数据,他的选取应该满足局部优化的条件。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,直到把所有数据枚举完 阅读全文
posted @ 2018-12-02 20:56 岑志健 阅读(85) 评论(0) 推荐(0) 编辑

第四章实践报告

摘要: 题目来源:王晓东《算法设计与分析》 给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确定合并 阅读全文
posted @ 2018-12-02 20:33 岑志健 阅读(213) 评论(0) 推荐(0) 编辑

第三章作业心得

摘要: 你对动态规划算法的理解(2分) 动态规划算法思想和分治法的思想是类似的,都是将问题的规模缩小,然后求解子问题,根据子问题来解决总问题,但是分治算法 的子问题之间是相互独立的,因此在对子问题的求解过程中就产生了很多重复的计算,递归就是这种问题很典型的代表,究其原因 就是对子问题的求解过程没有保留中间结 阅读全文
posted @ 2018-11-11 22:40 岑志健 阅读(169) 评论(0) 推荐(0) 编辑

第三章实践报告

摘要: 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下来 n行是数字三角形各行中的数字。所有数字在 阅读全文
posted @ 2018-11-11 22:20 岑志健 阅读(105) 评论(0) 推荐(0) 编辑

第二章实践报告

摘要: 1.实践题目 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 输入格式: 输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。 输出格式: 输出x所在的下标(0~n 阅读全文
posted @ 2018-10-14 17:01 岑志健 阅读(181) 评论(0) 推荐(0) 编辑

第二章作业心得

摘要: 第二章主要介绍的是分治策略的思想,而基于这种思想的算法往往需要用到递归调用,对我来说这恰恰是这章节的难点。 难点:①在解决问题的时候把大问题改造成一个小问题(开始难)。 在递归入门的时候最经典的两个一个就是汉诺塔,一个就是阶乘。阶乘尚且容易理解。然而汉诺塔,我觉得能把问题往递归方面想,太难了…… ② 阅读全文
posted @ 2018-10-14 16:45 岑志健 阅读(96) 评论(1) 推荐(0) 编辑