《算法设计与分析》概念题总结
Posted bw98blogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《算法设计与分析》概念题总结相关的知识,希望对你有一定的参考价值。
第一章 算法概述
算法
概念:算法是指解决问题的一种方法或者一个过程。
性质:
1. 输入:有零个或多个输入
2. 输出:有至少一个输出
3. 确定性:组成算法的每条指令是清晰的,无歧义的
4. 有限性:算法中的每条指令的执行次数是有限的,执行每条指令的时间也是有限的。
程序
程序是算法用来某种程序设计语言的具体实现。
算法与程序的不同
算法是用来给人读的,机器不能直接运行。
程序可以不满足算法的h第四条性质——有限性。
算法的复杂性
算法复杂性的高低体现在运行该算法所需要的计算机资源的多少上,所需资源越多,该算法的复杂性越高;反之越低。
第二章 递归与分治策略
递归算法
直接或间接调用自身的算法称为递归算法
递归函数
用函数自身给出定义的函数
分治法
将一个规模为 n 的问题分解为 k 个规模较小的子问题,这些子问题互相独立且与原问题相同,然后递归求解子问题,最后将子问题的解合并得到原问题的解。
分治法所能解决的问题的特征
1. 问题规模缩小到一定程度时可以很容易解决
2. 该问题可分解为若干个规模较小的子问题,即具有“最优子结构”性质
3. 利用子问题的解可合并成原问题的解
4. 子问题相互独立,即子问题之间不包含公共的子问题
第三章 动态规划
备忘录法
备忘录法是动态规划算法的变形。备忘录法的递归方式是自顶向下的,求解过程中记录每个子问题的解,这样的好处是在求解共同问题避免了重复求解。
动态规划
将原问题分解成若干个子问题,先求解子问题,并记录解,然后从这些子问题的解得到原问题的解。
动态规划与分治法的相同点与不同点
相同点:
不同点
第四章 贪心算法
第五章 回溯法
第六章 分支限界法
以上是关于《算法设计与分析》概念题总结的主要内容,如果未能解决你的问题,请参考以下文章