![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析与设计
文章平均质量分 70
CIPCU
这个作者很懒,什么都没留下…
展开
-
算法设计分析基础复习
更确切地说,算法的复杂性是算法运行所需要的计算机资源的量,需要的时间资源的量称为时间复杂性;1. 决定用哪个(或哪些)参数作为算法问题规模的度量 2. 找出算法中的基本语句 3. 检查基本语句的执行次数是否只依赖于问题规模 4. 建立基本语句执行次数的求和表达式 5. 用渐进符号表示这个求和表达式。有些算法的时间代价只依赖于问题的输入规模,而与输入的具体数据无关。算法分析:指的是对算法所需的两种计算机资源—时间和空间进行估算,所需要得资源越多,该算法的复杂度就越高。原创 2023-11-20 21:47:28 · 211 阅读 · 1 评论 -
分治法复习
【问题】快速排序(quick sort)的分治策略是: (1)划分:选定一个记录作为轴值,以轴值为基准将整个序列划分为两个子序列,轴值的位置在划分的过程中确定,并且左侧子序列的所有记录均小于或等于轴值,右侧子序列的所有记录均大于或等于轴值;分治法将一个难以直接解决的大问题划分成一些规模较小的子问题,分别求解各个子问题,再合并子问题的解得到原问题的解。一般来说,分治法的求解过程由以下三个阶段组成: (1)划分:把规模为 n 的原问题划分为 k 个(通常 k = 2)规模较小的子问题。原创 2023-11-19 21:48:05 · 405 阅读 · 0 评论 -
蛮力法算法复习(2)
【算法分析】蛮力法求解 TSP问题必须依次考察顶点集合的所有全排列,从中找出路径长度最短的简单回路,因此,时间下界是 Ω(n!【想法】依次考察图中所有顶点的全排列,满足(1)(vij, vij+1)∈E(1 ≤ j ≤ n-1) (2)(vin, vi1)∈E 的全排列(vi1, vi2, …【算法】蛮力法求解 TSP问题与求解哈密顿回路问题类似,不同的仅是将回路经过的边上的权值相加得到相应的路径长度,具体算法请读者自行设计。3.1 如果S[i] 等于 T[j],则继续比较 S 和 T 的下一对字符;原创 2023-11-14 20:43:04 · 280 阅读 · 1 评论 -
递推法复习
【算法实现】由于每天的桃子个数依赖于前一天的桃子个数,属于逆推法。递推法(recurrence method)是一种根据递推关系进行问题求解的方法,也是一种重要的数学方法,常用来进行序列计算。【问题】一只猴子摘了很多桃子,每天吃现有桃子的一半多一个,到第10天时只有一个桃子,原有桃子多少个?递推法通过初始条件,根据递推关系式,按照一定的规律逐项进行计算,直至得到结果。无论正推还是逆推,关键都是要找到递推关系式。原创 2023-11-13 15:54:24 · 183 阅读 · 0 评论 -
模拟法复习
模拟法是一种基于问题描述或简单建模的算法设计技术,它是最简单的算法设计方法之一。其基本思想是对问题进行抽象,将现实世界的问题映射成计算机能够识别的符号表示,将事物之间的关系映射成运算或者逻辑控制。使用模拟法求解问题不需要复杂的公式和技巧,只需要读懂问题、明确要求,按照逻辑整理步骤即可完成。2.埃拉托色尼筛法的基本思想是从2开始,将每个质数的倍数都标记为合数,然后再找下一个未被标记的数,将它的倍数也标记为合数,依此类推。1.鸡兔同笼问题:笼子里有若干只鸡和兔子,鸡有两只脚,兔子有四只脚,没有例外情况。原创 2023-11-06 21:55:02 · 299 阅读 · 0 评论