计算机文化基础第一章.ppt

上传人:小飞机 文档编号:6606490 上传时间:2023-11-17 格式:PPT 页数:26 大小:343KB
返回 下载 相关 举报
计算机文化基础第一章.ppt_第1页
第1页 / 共26页
计算机文化基础第一章.ppt_第2页
第2页 / 共26页
计算机文化基础第一章.ppt_第3页
第3页 / 共26页
计算机文化基础第一章.ppt_第4页
第4页 / 共26页
计算机文化基础第一章.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《计算机文化基础第一章.ppt》由会员分享,可在线阅读,更多相关《计算机文化基础第一章.ppt(26页珍藏版)》请在三一办公上搜索。

1、邢翀,软件技术基础,第一章 算 法,1.1 算法的基本概念1.2 算法设计基本方法1.3 算法的复杂度分析,1.1 算法的基本概念,1.1.1 算法的基本特征 算法:是指解题方案的准确而完整的描述。程序:可以作为算法的一种描述 说明:程序需考虑与方法和分析无关的细节问题,因为编写程序受到计算机系统运行环境的限 制。,【例】寻找给定3个整数a,b,c的中数m,如果a=b,a=c,b=c 那么m=b如果a=b,a=c,b=b,a=c那么m=a如果a=c 那么m=c如果a=b,a=c,b=c 那么m=b,PROCEDURE MID(a,b,c,m)IF a b THEN IF a c THEN IF

2、 b c THEN m=b ELSE m=c ELSE m=a,ELSE IF a c THEN m=a ELSE IF b c THEN m=c ELSE m=b RETUTE,1.1 算法的基本概念,1.1 算法的基本概念,1.1.1 算法的基本特征1.能行性(effectiveness)算法中的每一个步骤必须能够实现。算法执行的结果要能够达到预期的目的。,1.1 算法的基本概念,1.1.1 算法的基本特征 算法是指解题方案的准确而完整的描述。2.确定性(Definiteness)指算法中的每一个步骤都必须是有明确定义的,不允许出现多义性。3.有穷性(Finiteness)指算法必须能在有

3、限的时间内做完,即算法必须能在执行有限个步骤之后终止。4.拥有足够的情报:指足够的输入数据。,根据算法的特征可以将定义概括为:算法是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。,1.1 算法的基本概念,1.1.2 算法的基本要素1.算法中对数据的运算和操作 算术运算 逻辑运算 关系运算 数据传输2.算法的控制结构:算法中各操作数之间的执行顺序(包括顺序、选择、循环三种基本控制结构),1.1 算法的基本概念,1.2 算法设计基本方法,1.列举法 根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。因此,列举

4、法常用于解决“是否存在”或“有多少种可能”等类型的问题,例如求解不定方程的问题。【例】设每只母鸡值3元,每只公鸡值2元,两只小鸡值1元。现要用100元钱买100只鸡,设计买鸡方案。,【解题】假设买母鸡I只,公鸡J只,小鸡K只。FOR I0 TO 100 DOFOR J0 TO 100 DOFOR K0 TO 100 DO MIJK N3I2J0.5K IF(M100)and(N100)THENOUTPUT I,J,K RETURN,1.2 算法设计基本方法,总循环次数为1013,FOR I0 TO 33 DOFOR J0 TO 501.5I DO K100IJ IF(3I2J0.5K100)T

5、HEN OUTPUT I,J,K RETURN,1.2 算法设计基本方法,总循环次数为,#include#includeusing namespace std;int main()int i,j,k;for(i=0;i=33;i+)for(j=0;j=50-1.5*i;j+)k=100-i-j;if(3*i+2*j+0.5*k=100.0)coutsetw(5)isetw(5)jsetw(5)kendl;return 0;,1.2 算法设计基本方法,运行结果:2 30685 25708 20 7211 15 7414 10 7617 5 7820 0 80,2.归纳法 通过列举少量的特殊情况,

6、经过分析,最后找出一般的关系。3.递推 从已知的初始条件出发,逐次推出所要求的各中间和最后结果。,1.2 算法设计基本方法,【例】,1.2 算法设计基本方法,1.2 算法设计基本方法,4.递归 将一个复杂的问题归结为若干个较简单的问题,然后将这些较简单的每一个问题再归结为更简单的问题,这个过程可以一直做下去,直到最简单的问题为止。【例】编写一个过程,对于输入的参数n,依次打印输出自然数1到n。PROCEDURE WRT(n)FOR k1 TO n DO OUTPUT kRETURN,1.2 算法设计基本方法,输出自然数1到n的递归算法,1.2 算法设计基本方法,#include stdio.h

7、 wrt1(int n)if(n!0)wrt1(n1);printf(“%dn”,n);return;,PROCEDURE WRT1(n)IF(n0)THEN WRT1(n1)OUTPUT n RETURN,5.减半递推技术 减半:是指将问题的规模减半,而问题的性质不变。递推:是指重复“减半”的过程。,1.2 算法设计基本方法,1.2 算法设计基本方法,【例】设方程f(x)=0在区间a,b上有实根,且f(a)与f(b)异号,利用二分法求该方程区间a,b上的实根。首先取给定区间的中点c(ab)/2。然后判断f(c)是否为0。若f(c)0,则说明c即为所求的根,求解过程结束;如果f(c)0,则根据

8、以下原则将原区间减半:若f(a)f(c)0,则取原区间的前半部分;若f(b)f(c)0,则取原区间的后半部分。最后判断减半后的区间长度是否已经很小:若|ab|,则过程结束,取(ab)/2为根的近似值;若|ab|,则重复上述的减半过程。,6.回溯法 通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,对于每一步的试探,若试探成功,就得到问题的解,若试探失败,就逐步回退,换别的路线再进行试探。,1.2 算法设计基本方法,1.3 算法的复杂度分析,算法的复杂度主要包括时间复杂度和空间复杂度。1.4.1 算法的时间复杂度1.4.2 算法的空间复杂度,1.3 算法的复杂度分析,1.4.1

9、 算法的时间复杂度指执行算法所需要的计算工作量算法的工作量f(n)1.平均性态(Average Behavior)是指用各种特定输入下的基本运算次数的带权平均值来度量算法的工作量:p(x)指x出现的概率(输入为x的概率),t(x)指算法在输入为x时所执行的基本运算次数,Dn表示当规模为n时算法执行时所有可能输入的集合。平均性态定义为:,1.3 算法的复杂度分析,2.最坏情况复杂性(WorstCase Complexity)指在规模为n时,算法所执行的基本运算的最大次数。,【例】采用顺序搜索法,在长度为n的一维数组中查找为x的元素。即从数组的第一个元素开始,逐个与被查值x进行比较。基本运算为x与数组元素的比较。,1.平均性态分析,1.3 算法的复杂度分析,2.最坏情况分析 W(n)maxti|1in1n,假设:X一定在数组中,则设X在数组中的概率为q,那么,X不在数组中的概率为1-q;,1.4.2 算法的空间复杂度一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。,1.3 算法的复杂度分析,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号