摘要: 1.你对贪心算法的理解 贪心算法是指在对问题进行求解时,在每一步选择中都采取最好或者最优的选择,从而希望能够导致结果是最好或者最优的算法。 贪心算法与动态规划相识,都是求问题的最优子结构性质,但是贪心算法是依赖与上一问题的最优解,而动态规划依赖于将来问题的最优解,所以贪心算法法则是从上而下,动态规划 阅读全文
posted @ 2019-11-20 19:02 l小钊l 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 程序存储问题 2.问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多 阅读全文
posted @ 2019-11-19 20:49 l小钊l 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.对动态规划算法的理解 动态规划与分治法相似,都是将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解中得到原问题的解。但是区别在于动态规划每个子问题并非独立,而是相互有联系。 动态规划可以用表格存储每个子问题的最优解,有需求时使用。 2.分别列出编程题1、2的递归方程 1.m[i 阅读全文
posted @ 2019-11-02 14:53 l小钊l 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下来 n行是数字三角形各行中的数 阅读全文
posted @ 2019-10-20 19:04 l小钊l 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1.分治法是将问题分解为多个子问题,通过解决子问题后合并为原命题来解决原问题。 2.分治法可以缩短问题的时间复杂度。 3.拓展出新的思路,解决原有方法不能解决的问题 结对编程可以使我原先不清晰的代码变得简单易懂,两个人思考问题方向可能不一致,最终决定谁的方法简单正确 在去以其思路去构思,可以大大改善 阅读全文
posted @ 2019-10-15 12:40 l小钊l 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 一、问题 二、思路分析 对二分查找的改进,假设二分查找最后结果(mid)比需要查找的要大,则(mid)为大于所需查找数,且(mid-1)小于所需查找数 假设二分查找最后结果(mid)比需要查找的要小,则(mid)为小于所需查找数,且(mid+1)大于于所需查找数 三、算法分析 #include <i 阅读全文
posted @ 2019-09-23 21:07 l小钊l 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 一.代码规范 1.标识符名称要有意义,循环所用的变量可以用单一的字母。 2.函数要有注释说明,函数注释通常置于每函数或过程的开头部分,它应当给出函数或过程的整体说明,对于理解程序本身具有引导作用。 函数结束时注释 3.参数过多时用“,”结尾。 条件语句括号中无空格。空格左右有1个空格。条件语句用两空 阅读全文
posted @ 2019-09-08 15:22 l小钊l 阅读(109) 评论(0) 推荐(0) 编辑