算法分析与设计
文章平均质量分 90
算法分析与设计
zhuoxoyu
这个作者很懒,什么都没留下…
展开
-
算法分析与设计考点归纳
考点归纳第一章 基础知识Ø算法定义:算法是问题求解的有效策略.是解某一特定问题的一组有穷规则的集合。Ø算法特征 : 有限性、确定性、输入、输出、能行性Ø算法复杂性:算法运行所需要的计算机资源的量时间复杂性:需要时间资源的量空间复杂性:需要空间资源的量第二章 递归Ø1、递归的概念Ø一个递归模型是由递归边界和递归体两部分组成,前者确定递归到何时结束,后者确定递归求解时的递推关系。Ø2、递归算法的设计方法Ø典型例子:阶乘、汉诺塔、费布那切数列等Ø3、递归算法..原创 2020-06-15 13:26:02 · 477 阅读 · 0 评论 -
算法分析与设计期末复习(第七章)
第七章 回溯法与分支限界法原创 2020-06-15 10:47:49 · 270 阅读 · 0 评论 -
算法分析与设计期末复习(第六章)
第六章 基本检索与周游方法1. 搜索算法类型基于枚举策略深度优先搜索广度优先搜索优化+枚举回溯算法 = 深度优先搜索 + 剪枝策略分支限界算法 = 广度优先算法 + 剪枝策略启发式搜索启发式搜索是一种基于规则的优化搜索算法。2. 周游的概念对于问题涉及到二叉树、树和图的处理,要求确定满足某一性质的节点集合,就需要检索的方式来进行,当这种检索必须包括检索的数据对象的每一个结点进行检查时,就称为周游。3. 图的存储结构(1)、邻接矩阵(数组)表示法(2)邻接表(链式)表示法原创 2020-06-14 21:40:55 · 318 阅读 · 0 评论 -
算法分析与设计期末复习(第五章)
第五章 动态规划1. 动态规划的基本思想1.1 多段决策问题动态规划是用来解决多阶段决策过程最优化的一种数量方法。其特点在于,它可以把一个n 维决策问题变换为几个一维最优化问题,从而一个一个地去解决。 需指出:动态规划是求解某类问题的一种方法,是考察问题的一种途径,而不是一种算法。必须对具体问题进行具体分析,运用动态规划的原理和方法,建立相应的模型,然后再用动态规划方法去求解。动态决策问题的特点: 系统所处的状态和时刻是进行决策的重要因素;即在系统发展的不同...原创 2020-06-13 13:47:14 · 1037 阅读 · 0 评论 -
算法分析与设计期末复习(第四章)
第四章 贪心策略1. 贪心算法的特点(1)顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。(2)贪心算法不能对所有问题都得到整体最优解。(3)在许多情况下,应用贪心算法能够得到整体最优解;在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。(4)贪心算法中,较大子问题的解恰好包含了较小子问题的解作为子集。(5)贪心算法在某一步决定优化函数的最大或最小值时,不考虑子问题的计算结果原创 2020-06-13 11:50:53 · 688 阅读 · 0 评论 -
算法分析与设计期末复习(第三章)
第三章 分治算法1. 基本思想对于一个规模为n的问题,若该问题可以容易地解决(比如n的规模比较小),则直接解决,否则将其分解为k个规模比较小的子问题,这些子问题相互独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并,得到原问题的解。这种算法设计策略叫做分治法。2. 解题步骤(1)划分(divide):将原问题分解为若干规模较小、互相独立、与原问题形式相同的子问题。(2)解决(conquer):若子问题规模较小,则直接求解;否则递归求解各子问题。(3)合并(combine):将各原创 2020-06-13 09:52:29 · 351 阅读 · 0 评论 -
算法分析与设计期末复习(第二章)
第二章 递归算法1. 递归的定义若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的;若一个过程直接或间接的调用自己,则称这个过程是递归的过程。2. 三种经典情况使用递归(1)问题的定义是递归的(2)数据结构是递归的(3)问题求解的过程是递归的3. 递归的分类**直接递归****间接递归**4. 递归模型第一个式子给出了递归的终止条件,称为递归边界第二个式子给出了fun(n)的值与fun(n-1)的值之间的关系,称为递归体5. 阶乘的递归边界条件与递归方原创 2020-06-13 08:47:25 · 1626 阅读 · 0 评论 -
算法分析与设计期末复习(第一章)
第一章 基础知识先修课程:Ø离散数学Ø数据结构Ø高级程序语言学习算法的意义•培养“从蛮力到策略”的思维方法–蛮力法(Brute Force)是一种解决问题的最简单、最直接、最容易理解的方法。–数学是一种艺术,使人摆脱蛮力计算。•从计算机应用的角度–掌握不同的计算领域中的重要算法,具备设计新算法及分析其性能的能力。•从计算机理论的角度–算法是计算机科学的基础。课程主要内容•分析 学会对算法的时...原创 2020-06-13 08:05:03 · 1312 阅读 · 0 评论