大学计算机算法基础.ppt

上传人:夺命阿水 文档编号:229454 上传时间:2023-03-01 格式:PPT 页数:23 大小:764.50KB
返回 下载 相关 举报
大学计算机算法基础.ppt_第1页
第1页 / 共23页
大学计算机算法基础.ppt_第2页
第2页 / 共23页
大学计算机算法基础.ppt_第3页
第3页 / 共23页
大学计算机算法基础.ppt_第4页
第4页 / 共23页
大学计算机算法基础.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《大学计算机算法基础.ppt》由会员分享,可在线阅读,更多相关《大学计算机算法基础.ppt(23页珍藏版)》请在课桌文档上搜索。

1、第4章 算法基础,主要内容,算法的基本概念算法的组成要素算法的表示方法算法设计的基本方法算法的复杂度,4.1 算法基本概念,1.算法的概念为解决一个问题而采取的方法和步骤,称为算法。用计算机来解决问题的方法和步骤,称为计算机算法。分为数值运算算法和非数值运算算法。,2023/3/1,大学计算机基础,3,4.2 算法的组成要素,一个算法含有两大要素:操作步骤:对于计算机算法而言,包括组成算法的各条指令,也就是对数据的运算和操作。控制结构:控制算法中各操作步骤地执行顺序。通常有三种结构:顺序结构选择结构循环结构,控制结构及算法举例,1、顺序结构:例1:求圆的面积的算法设r表示圆的半径,s表示圆的面

2、积步骤1:输入半径r的值步骤2:s=3.14 r r步骤3:输出s的值,2023/3/1,大学计算机基础,5,多个步骤由上到下依次执行,顺序不能打乱,称为顺序结构,2、选择结构:例2:求两个整数a和b中的大者的算法:输入a、b的值:如果ab,则执行S3;否则转去执行S4:输出a的值,结束:输出b的值,结束,其中,和根据条件只能执行一个,称为选择结构,3、循环结构例3:求出50!的算法设t为被乘数,i为乘数s1:使t=1s2:使i=2s3:tits4:i+1 is5:转去执行s3s6:输出t的值,当i50时,,顺序结构、选择结构、循环结构是表示一个算法的基本结构。由以上3种基本结构组成的算法,称

3、为“结构化”的算法,可以解决任何复杂的问题。,2023/3/1,大学计算机基础,8,4.3 算法的基本特征,1)有穷性 算法中的步骤是有限的2)可行性 算法中的每一个步骤必须是可执行的3)确定性 算法中的每一个步骤必须是含义确切的4)有零个或多个输入5)有一个或多个输出,4.3 算法的表示方法,自然语言流程图伪代码计算机编程语言,算法的流程图表示法,传统流程图,顺序结构、选择结构和循环结构流程图,例如:50!的流程图,2023/3/1,大学计算机基础,13,N-S图:三种控制结构的N-S图,50!的N-S图,算法的伪代码表示法,2023/3/1,大学计算机基础,16,伪代码描述50!:1 t2

4、 iwhile i=50t*i t i+1 i print t,用介于自然语言和计算机语言之间的文字和符号来描述算法,算法的计算机语言表示法,计算机语言(C语言)描述50!:#include void main()double t,i;t=1;i=2;while(i=50)t=t*i;i=i+1;printf(“%.0f”,t);,必须严格遵守计算机语言的语法规则,4.5 常用的算法介绍,列举法:根据提出的问题,列举所有可能情况,并用问题中给定的条件检验哪些是需要,哪些是不需要。例如:求水仙花数。递推法:从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。递归法:将问题逐层分解,最后归

5、结为一些最简单的问题。这种将问题逐层分解的过程,实际上并没有对问题进行求解,而只是当解决了最后那些最简单的问题后,再沿着原来分解的逆过程逐步进行综合,这就是递归的基本思想。回溯法:通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,若试探成功,就得到问题的解,若试探失败,就逐步回退,换别的路线再逐步试探。,4.6 算法的复杂度,解决一个问题,可以有很多算法,如何评价一个算法的好坏?首先算法正确,具有算法的5个基本特征还需考虑:执行算法消耗的时间执行算法消耗的存储空间具有可读性,易于理解健壮性,评价方法:事前估算事后统计评价结果:称为“算法复杂度”算法复杂度可以分为时间复杂度和空

6、间复杂度,1.算法的时间复杂度,通常把算法中进行简单操作的次数的多少称为算法的时间复杂度算法的时间复杂度往往是问题规模的函数,即 T(n)=O(f(n)其中,n表示问题的规模,f(n)为问题的规模函数 例如:求n的阶乘算法的时间复杂度为:T(n)=n-1 通常表示:T(n)=O(n),2023/3/1,大学计算机基础,21,算法的时间复杂度还跟问题的输入数据有关,所以算法的时间复杂度可以用两种形式表达:平均时间复杂度最坏情况时间复杂度,平均时间复杂度,平均时间复杂度能够计算出所有输入对应的算法时间复杂度的平均值。若用t(x)表示输入为x时的算法时间复杂度,用E(x)表示出现输入x的数学期望,则算法平均时间复杂度A(n)可以表示为:,2023/3/1,大学计算机基础,23,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号