算法设计与分析王红梅第1章绪论.ppt
《算法设计与分析王红梅第1章绪论.ppt》由会员分享,可在线阅读,更多相关《算法设计与分析王红梅第1章绪论.ppt(38页珍藏版)》请在三一办公上搜索。
1、算法设计与分析,王红梅 编著,普通高校计算机专业特色教材精选,本书主要内容,第 1 章 绪论第 2 章 NP完全理论第 3 章 蛮力法第 4 章 分治法第 5 章 减治法第 6 章 动态规划法,本书主要内容(续),第 7 章 贪心法第 8 章 回溯法第 9 章 分支限界法第10章 概率算法第11章 近似算法第12章 计算复杂性理论,第1章 绪 论,算法理论的两大论题:1.算法设计2.算法分析,1.1 算法的基本概念,1.1.1 为什么要学习算法,1.1.2 算法及其重要特性,1.1.3 算法的描述方法,1.1.4 算法设计的一般过程,1.1.5 重要的问题类型,问题的求解过程:分析问题设计算法
2、编写程序整理结果 程序设计研究的四个层次:算法方法学语言工具,1.1.1 为什么要学习算法,理由1:算法程序的灵魂,理由2:提高分析问题的能力,算法的形式化思维的逻辑性、条理性,1.1.2 算法及其重要特性,算法(Algorithm):对特定问题求解步骤的一种描述,是指令的有限序列。,算法的五大特性:,输入:一个算法有零个或多个输入。输出:一个算法有一个或多个输出。有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。确定性:算法中的每一条指令必须有确切的含义,对于相同的输入只能得到相同的输出。可行性:算法描述的操作可以通过已经实现的基本操作执行有限次来实现。,欧几里德算法
3、,m,n,r,例:欧几里德算法辗转相除法求两个自然数 m 和 n 的最大公约数,1.1.3 算法的描述方法,自然语言优点:容易理解缺点:冗长、二义性使用方法:粗线条描述算法思想 注意事项:避免写成自然段,输入m 和n;求m除以n的余数r;若r等于0,则n为最大公约数,算法结束;否则执行第步;将n的值放在m中,将r的值放在n中;重新执行第步。,欧几里德算法,流程图 优点:流程直观 缺点:缺少严密性、灵活性使用方法:描述简单算法注意事项:注意抽象层次,欧几里德算法,程序设计语言优点:能由计算机执行 缺点:抽象性差,对语言要求高使用方法:算法需要验证注意事项:将算法写成子函数,#include in
4、t CommonFactor(int m,int n)int r=m%n;while(r!=0)m=n;n=r;r=m%n;return n;void main()coutCommonFactor(63,54)endl;,欧几里德算法,伪代码算法语言伪代码(Pseudocode):介于自然语言和程序设计语言之间的方法,它采用某一程序设计语言的基本语法,操作指令可以结合自然语言来设计。优点:表达能力强,抽象性强,容易理解使用方法:7 2,1.r=m%n;2.循环直到 r 等于0 2.1 m=n;2.2 n=r;2.3 r=m%n;3.输出 n;,欧几里德算法,1.1.4 算法设计的一般过程,1理
5、解问题2预测所有可能的输入3.在精确解和近似解间做选择 4.确定适当的数据结构 5算法设计技术6描述算法 7跟踪算法 8分析算法的效率 9根据算法编写代码,1.1.5 重要的问题类型,1.查找问题2.排序问题3.图问题 4.组合问题 5.几何问题,1.2 算法分析,渐进符号,最好、最坏和平均情况,非递归算法的分析,递归算法的分析,算法的后验分析,1.2 算法分析,算法分析(Algorithm Analysis):对算法所需要的两种计算机资源时间和空间进行估算 时间复杂性(Time Complexity)空间复杂性(Space Complexity),算法分析的目的:设计算法设计出复杂性尽可能低
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 红梅 绪论

链接地址:https://www.31ppt.com/p-6012078.html