第一章算法概述精选PPT.ppt
《第一章算法概述精选PPT.ppt》由会员分享,可在线阅读,更多相关《第一章算法概述精选PPT.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章算法概述2023/4/17计算机算法设计与分析1第1页,本讲稿共22页2023/4/17计算机算法设计与分析2什么是算法?n简单的说,算法是指解决某一问题的运算序列n或者说算法是问题求解过程的运算描述,一个算法由有限条可完全机械地执行的、有确定结果的指令组成。指令正确地描述了要完成的任务和它们被执行的顺序。计算机按算法所描述的顺序执行算法的指令能在有限的步骤内终止,或终止于给出问题的解,或终止与指出问题对此输入数据无解。第2页,本讲稿共22页2023/4/17计算机算法设计与分析3算法的五个特性n确定性:每条指令的意义都是清晰的,无歧义的;n能行性:每条运算指令是能够实现的基本运算且能在
2、有限时间内完成;n有穷性:每条指令的执行次数和执行时间都是有限的;如:不允许有诸如“x/0”或“x与1或2相加”之类的运算。因为前者结果不能确定,而后者不能确定两种可能的运算应该执行哪一个。n输入:有零个或多个输入;n输出:至少产生一个量作为输出。如:如果算法中的循环步长为零,运算进入无限循环,这是不允许的。如:两个实数相加是可行的;但两个实数相除,例如求2/3的值,在没有指明位数时需由无穷个十进制位表示,并不可行。第3页,本讲稿共22页2023/4/17计算机算法设计与分析4算法与过程n对任何合法输入,算法将在有限时间内通过有穷步计算后终止。n过程可以是有穷的,也可以是无穷的,不一定会终止。
3、第4页,本讲稿共22页2023/4/17计算机算法设计与分析5算法与程序n程序是某个算法或过程在计算机上的一个具体的实现。n程序是依赖于程序设计语言的,甚至依赖于计算机结构的。n算法是脱离具体的计算机结构和程序设计语言的。第5页,本讲稿共22页2023/4/17计算机算法设计与分析6算法的复杂性n算法的复杂性是指算法运行时所需要的计算机资源的量多少,所需资源量越多则复杂性越高,反之所需资源量越少则复杂性越低。其中最为重要的是:n时间复杂性:需要时间的资源量。n空间复杂性:需要空间的资源量。n这里人们通常更为关注的是时间复杂性。第6页,本讲稿共22页2023/4/17计算机算法设计与分析7决定算
4、法复杂性的因素n算法的复杂性取决于n(1)求解问题的规模;n(2)具体的输入数据;n(3)算法本身的设计。n若令N、I、和A分别表示问题的规模、具体的输入和算法本身,则C=F(N,I,A)或C=FA(N,I)=F(N,I)第7页,本讲稿共22页2023/4/17计算机算法设计与分析8时间复杂性的计算n通常用算法执行的总语句(运算)的数量级决定算法的时间复杂度。n就算法分析而言,一条语句的数量级即执行它的频数,一个算法的数量级是指它所有语句执行频数之和。n因此,算法的数量级直接决定算法的时间复杂度。第8页,本讲稿共22页2023/4/17计算机算法设计与分析9算法的数量级n观察以下程序段:(1)
5、x=x+1;n若把程序段看成相应算法的主体,则:(1)语句执行频数为1,算法数量级为1;(2)for(k=1;k=n;k+)x=x+y;y=x+y;s=x+y;(2)每个赋值语句执行频数为n,算法数量级为3n;(3)for(t=1,k=1;k=n;k+)t=t*2;for(j=1;j=t;j+)s=s+j;(3)内循环的赋值语句执行频数为2+22+2n=2(2n-1);时间复杂度为O(1);时间复杂度为O(n);取c=2,2(2n-1)2*2n;时间复杂度为O(2n);第9页,本讲稿共22页2023/4/17计算机算法设计与分析10最坏、最好或平均的情况n令:D为规模为N的合法输入的集合;I*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 算法 概述 精选 PPT
限制150内