摘要: 第五章回溯法及学期总结 回溯法 在初步学习完回溯法之后和刷了一点题目之后,回溯法其实挺好用的,但是用不好的情况也是有不少的,事实上,回溯法的思想非常简单清晰,就是探测遍历所有情况,一般都会到达O(n2)的复杂度,并且与dfs相关,典型的有N皇后问题以及回溯法解数独之类的。 1.首先得构造解空间树:子 阅读全文
posted @ 2020-12-20 11:52 邹桦骏 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 贪心算法 一、 贪心算法的理解: 在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它所做出的仅仅是在某种意义上的局部最优解。 1. 最优子结构性质:当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。问题的最优子结构性质是该问题可用贪心法求解的关键 阅读全文
posted @ 2020-11-15 08:48 邹桦骏 阅读(103) 评论(0) 推荐(0) 编辑
摘要: “挖地雷”算法分析 题目 在一个地图上有n个地窖(n≤200),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径,并规定路径都是单向的,且保证都是小序号地窖指向大序号地窖,也不存在可以从一个地窖出发经过若干地窖后又回到原来地窖的路径。某人可以从任意一处开始挖地雷,然后沿着指出的连接往下挖( 阅读全文
posted @ 2020-11-01 01:59 邹桦骏 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 算法第二章上机实践报告 实践题目名称: 找第k小的数 问题描述: 设计一个平均时间为O(n)的算法,在n(1<=n<=1000)个无序的整数中找出第k小的数。 算法描述: 1. int partition(int a[],int left,int right)函数 功能是根据a[left]~a[ri 阅读全文
posted @ 2020-10-03 13:02 邹桦骏 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 分治法的体会 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。 分治法的基本步骤: 1. 先将问题分为若干个子问题。 2. 分别 阅读全文
posted @ 2020-10-03 11:16 邹桦骏 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 1. 本学期我参考的代码规范是谷歌的代码规范(C++):https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/ 2. 观看了一部分《数学之美》后,我有如下 的一些感悟: 1)数学在我们的生活中无处不在, 阅读全文
posted @ 2020-09-18 21:47 邹桦骏 阅读(152) 评论(0) 推荐(0) 编辑