代码改变世界

算法第五章作业

2019-12-15 13:27 by 绮罗生, 112 阅读, 0 推荐, 收藏, 编辑
摘要:1.什么是回溯法? 回溯法,顾名思义就是回到曾经的结点的一种算法。在我的理解当中,回溯法就是我们在列出一系列解时,需要有抉择,假设我现在有两条路可以选择,我选择了第一条后发现这条路并不一定比第二条好,所以用回溯法返回到上一次选的的路径,然后再继续进行下去。 回溯法如果要遍历一遍的话效率会很低,所以为 阅读全文

算法第四章总结

2019-11-25 23:40 by 绮罗生, 119 阅读, 0 推荐, 收藏, 编辑
摘要:1.贪心算法的理解 贪心算法的理解是和动态规划相反,应该说是对动态规划的一种反向阐述。贪心算法要和动态规划对比来看,贪心算法更多的是从当前优先考虑,考虑当前的最优解,而动态规划是从整体考虑。但是并不是所有情况都能用贪心算法解决,贪心算法需要在某些情况才可以解决。需要满足以下两个性质。一个是贪心选择性 阅读全文

算法第四章上机实践

2019-11-17 23:43 by 绮罗生, 120 阅读, 0 推荐, 收藏, 编辑
摘要:实践题目&问题描述: 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。 阅读全文

动态规划总结

2019-10-27 16:04 by 绮罗生, 162 阅读, 0 推荐, 收藏, 编辑
摘要:理解: 我所理解的动态规划的思想,其实就是将一个大的、复杂的问题简单化,将大的问题分成若干个小的子问题,再将这些子问题一一解决。找出子问题之间的互相依赖关系,利用递归的思想,将它们的依赖关系给串联在一起,最后解决原来的这个复杂的问题。 动态规划实际上就是找出他们的关系,然后进行填表的操作。具体问题具 阅读全文

算法第三章实践报告

2019-10-22 00:24 by 绮罗生, 159 阅读, 0 推荐, 收藏, 编辑
摘要:7-3 编辑距离问题 (30 分) 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 B的编辑距离,记为d(A,B)。 对 阅读全文

合作与共赢+分治法初探

2019-10-14 21:00 by 绮罗生, 163 阅读, 0 推荐, 收藏, 编辑
摘要:其实一开始知道要组队完成某一项任务的时候我是并不太愿意的。我习惯了一个人做什么,习惯了独来独往,不太喜欢团体合作。因为总是会觉得商量起来是一件很麻烦的事情,而且和别人解释半天你自己的思想也显得太过枯燥和乏味。我本身是一个急切的性格,遇事难免风风火火,不愿意过多探讨。但是不得不说这次合作带给了我新的体 阅读全文

算法第二章实践报告

2019-09-22 22:11 by 绮罗生, 136 阅读, 0 推荐, 收藏, 编辑
摘要:关于本次小组合作,实践报告主要是第一个代码——二分法。 先介绍一下小组组员,分别是我,李卓蓉和唐伟严。 第一个题目是给定n个非降序排列的数,用二分搜索算法查找某个数字x是否在所给数列中。这个题目看起来其实并不难,思路比较顺畅。首先我们采取二分法来进行查找,查找x。此时应当分为两种情况,一种是x存在, 阅读全文

编程规范+数学之美读后感

2019-09-08 13:09 by 绮罗生, 238 阅读, 0 推荐, 收藏, 编辑
摘要:关于编程规范,以c++为例来说明我个人在写代码时的一些习惯,包括文件的命名,在代码内部变量的命名等。 文件命名以及保存 文件命名我会以时间来进行命名。这样有助于将各个不同文件保存,以免出现顺序乱了或冲突等现象(个人习惯)。保存时候会专门开一个相关文件夹,例如c++课成的代码是单独文件夹,java课成 阅读全文