代码改变世界

算法第五章总结

2019-12-03 21:34 by ..#, 382 阅读, 0 推荐, 收藏, 编辑
摘要:回溯,实质是一个一个去试,看看这种方法能不能成功,如果不能成功就退回去再去试,以此类推,一般采用树的数据结构(不是真树,只需要有一个类树向量就行了) 回溯效率相比来说比较低,但是可以用限界/剪枝函数对他优化。 我们这里来总结回溯题型的一般分类。 1.全0 1向量 顾名思义,这类问题的解向量只由0,1 阅读全文

算法第四章总结

2019-11-19 20:35 by ..#, 448 阅读, 0 推荐, 收藏, 编辑
摘要:贪心算法,指的是通过每一次得到的局部最优解从而得到全局的最优解。 贪心算法在很多问题下面是有用的,但是在另外一些问题(如:0-1背包问题)下就不能用贪心算法求解。此外,由于贪心算法经常涉及到最值操作,因此最值堆和sort函数【分别需要调用queue和algorithm头文件】就十分有用了。贪心算法题 阅读全文

算法第四章上机实践报告——程序存储问题

2019-11-18 19:40 by ..#, 460 阅读, 0 推荐, 收藏, 编辑
摘要:4-1 程序存储问题 (90 分) 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存 阅读全文

动态规划总结

2019-10-23 14:38 by ..#, 246 阅读, 0 推荐, 收藏, 编辑
摘要:恢复内容开始 动态规划来源于分治法,本质是为了节省递归栈所消耗的时间/空间,同时把相同的子问题的解记录下来,防止系统做重复工作,浪费时间。 一般用动态规划做题时候,要从分治法开始,进一步考虑是否存在相同的子问题解且解是否重复,如果有可以采用动态规划求解【当然递归方程还是要写的】。 动态规划的递归方程 阅读全文

编辑距离问题(第二次上机实验的实验报告)

2019-10-17 20:49 by ..#, 402 阅读, 0 推荐, 收藏, 编辑
摘要:7-3 编辑距离问题 (30 分) 7-3 编辑距离问题 (30 分) 7-3 编辑距离问题 (30 分) 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B 阅读全文

算法第三次作业:对分治法的体会

2019-10-10 10:51 by ..#, 481 阅读, 0 推荐, 收藏, 编辑
摘要:分治法实质是分而治之,即把大的问题分解成数个小问题,然后求解,最后设法合并。一般情况下,子问题的规模都是相等的,因此我们可以用KO(n/m)+O(n)(子问题+合并)配合主定理求时间复杂度。学完分治法后,我发现了几点:1.这门课比较依赖以前数据结构的算法,当然算法课其实是在更高的角度看问题(当然以前 阅读全文

算法第一次实验报告:改写二分搜索算法的思路与分析

2019-09-23 12:45 by ..#, 1059 阅读, 0 推荐, 收藏, 编辑
摘要:改写二分搜索算法 思路与分析 改写二分搜索算法 思路与分析 改写二分搜索算法 思路与分析 题目来源:《计算机算法设计与分析》,王晓东 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均 阅读全文

算法第一周作业:命名规则与读后感

2019-09-01 20:58 by ..#, 368 阅读, 0 推荐, 收藏, 编辑
摘要:命名规则:避免名字中出现数字编号 如 func1 func2用正确的反义组命名有互斥意义的词循环变量采用小写字符 如int i;代码风格:每一行开始处的缩进用tab"if"、"for"、"while"、"do"、"try"、"catch" 等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要 阅读全文

第二次博客作业

2018-12-07 18:06 by ..#, 128 阅读, 0 推荐, 收藏, 编辑
摘要:1.目前学习的薄弱知识点为:一些平常较少使用的概念【如:内联函数】,排序法的应用。对一些基本函数,能够理解,但是没有做到特别熟练的掌握。 同时对一些思维题的解题能力欠缺,一些实际上很简单的问题【如:小测的奇奇哥题目】往往被我复杂化。 细节仍然要重视,很多时候我的算法都是对的,只是语法和一些细节出了问 阅读全文

第一次博客作业

2018-10-04 12:59 by ..#, 209 阅读, 0 推荐, 收藏, 编辑
摘要:1.由于领航学长的原因,我在开学前是自学过C++的,用的是C++primer plus这本书。实际上我觉得编程就是很多种元素的集合,每种元素都可以干一些事情,多种元素组合在一起就可以得到编程者想要的效果。能力吗。。。也不算强,至少天天会打漏;这个很关键的符号 2.第一次编程作业完成的其实不是很吃力【 阅读全文