摘要: 一、对贪心算法的理解 贪心算法并不从整体最优考虑,他做出的选择是局部情况下的最优选择,我们希望贪心算法得到的整体结果也是最优的,他不能对所有问题产生整体最优解,但是能对大部分问题产生整体最优解,就算不能得到整体最优解,结果跟最优解相差不大。当局部最优和全局最优解一致性被证明后可使用贪心算法。 二、汽 阅读全文
posted @ 2019-11-26 20:11 梁家铭 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 一、实践题目 4-1 程序存储问题 (90 分) 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁 阅读全文
posted @ 2019-11-17 23:21 梁家铭 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 一、你对动态规划算法的理解: 1、动态规划算法比较难,不过只要多点找题目练习,理解每个题目的基本思想,这类题目还是很容易突破的; 2、可以先找到题目中变量的对应关系,并列出递归方程,思考临界值的问题,并用草稿纸自己走一遍程序,发现递归算法的漏洞,也可以用循环方程解决; 3、除了运用草稿纸,也可以总结 阅读全文
posted @ 2019-11-03 22:56 梁家铭 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 7-1 数字三角形 (30 分) 7-1 数字三角形 (30 分) 7-1 数字三角形 (30 分) 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 输入格式: 输入有n+1行: 第 阅读全文
posted @ 2019-10-21 00:00 梁家铭 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 第二章我们主要学习了分治法的基本思想,分治法其实很容易理解,就是把一个大问题分解成若干个子问题然后越分越小,用递归的思想解决子问题然后解决大问题从而求得最优结果,比如一个数组中数字的排列,我们可以先排列一部分数字减少数组数字的无序性,最后慢慢变成有序数列,这就是分治法的思想。 其实分治法对我们逻辑思 阅读全文
posted @ 2019-10-17 22:00 梁家铭 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 改写二分搜索算法 7-2 改写二分搜索算法 (20 分) 7-2 改写二分搜索算法 (20 分) 7-2 改写二分搜索算法 (20 分) 题目来源:《计算机算法设计与分析》,王晓东 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小 阅读全文
posted @ 2019-09-23 22:38 梁家铭 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 编码规范: 1、定义变量函数名时要用显而易见的表示,尽量不缩写,例如名字的拼音,英文,便于理解; 2、在需要注释的地方加注释,且注释要与后面几行对齐美观,注释清晰; 3、写了一个函数后,或者一个函数里比较重要的部分,可以空几行再写接下来的部分,方便在右边加注释和方便留意到; 4、写循环函数注意边界, 阅读全文
posted @ 2019-09-08 21:51 梁家铭 阅读(192) 评论(0) 推荐(0) 编辑