摘要: 1. 你对回溯算法的理解 主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 用回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解。 2、利用适于搜索的方法组织解空间。 3、利用深度优先法搜索解空间。 4、利用限界函数避免移动到不可能产生解的 阅读全文
posted @ 2020-12-20 10:47 黄颖芳 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 一、对贪心算法的理解 贪心算法在每个决策点作出当时最优的选择,即作出局部最优解来推导出全局最优解。 二、请选择一道作业题目说明你的算法满足贪心选择性质 对于汽车加油的问题,我们要考虑的贪心策略是汽车加满油最多能走多远,直到汽车没办法开到下一个加油站的时候才加油。 证明:假设在加满油可行驶N千米的这段 阅读全文
posted @ 2020-11-15 10:29 黄颖芳 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 1、挖地雷 1.1 根据最优子结构性质,列出递归方程式。 f[ i ]=max(w[ i ]+f [ j ]) (1<=i<=n,1<=j<a[i][0],a[i][j]=1) 其中,w[i]表示存储对应地窖地雷数,a[i][j]表示记录两个地窖间是否有通路 1.2 维度为一维,填表范围为[1,n] 阅读全文
posted @ 2020-11-01 10:21 黄颖芳 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目 找第k小的数 2、问题描述 在n个(1<=n<=1000)个整数中找到第k小的数,并且平均时间复杂度为O(n)。 3、算法描述 partition:选择第一个数x为基准数,将数组中小于x的数放到x的左边,将大于x的数放到x的右边。返回此时基准数的位置。 int partition(in 阅读全文
posted @ 2020-10-04 21:33 黄颖芳 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 一、对分治法思想的体会 首先,分治法是就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。更准确地说是,将规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同。递归地解决子问题,然 阅读全文
posted @ 2020-10-03 22:38 黄颖芳 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 本学期编码遵循华为编码规范https://blog.csdn.net/marric/article/details/5354 首先,算法其实是解决问题的方法和思路,指导如何编写代码。其次,随着社会的高速发展,人们开始追求快速便捷的计算机体验。于是,对算法的高要求也成为了软件开发的重要部分之一。当计算 阅读全文
posted @ 2020-09-19 19:02 黄颖芳 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 查找 (1)静态查找表:在查找的同时不对表进行修改操作。 (2)动态查找表:在查找的同时对表做修改操作(如插入、删除)。 平均查找长度(ASL):为了确定记录在查找表中的位置,需要对给定值进行比较的关键字个数的期望值 ASL = ∑ PiCi(从i = 1 到 i = n求和) 其中,Pi为查找表中 阅读全文
posted @ 2020-06-28 21:01 黄颖芳 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 深度优先遍历 (使用栈) (1)首先访问顶点i,并将其访问标记置为访问过,即visited[i]=1; (2)然后搜索与顶点i有边相连的下一个顶点j,若j未被访问过,则访问他,并将j的访问标记置为访问过,visited[j]=1,然后从j开始重复这一过程, 若j已访问,再看与i有边相连的其他节点。 阅读全文
posted @ 2020-06-14 21:41 黄颖芳 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-05-31 19:59 黄颖芳 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 第四章主要学习了串与数组,至于广义表,只是粗略的看了一下。与线性表类似, 串也有两种基本存储结构:顺序存储和链式存储。串的基本运算有串连接、两串相等判断、取子串、插入子串、删除子串、子串定位、子串替换等。其中,子串的定位运算通常称为串的模式匹配或串匹配。 1. BF 算法 / /两个串均未比较到串尾 阅读全文
posted @ 2020-05-05 21:50 黄颖芳 阅读(174) 评论(0) 推荐(0) 编辑