《大学计算机基础大学计算机基础 (30).ppt》由会员分享,可在线阅读,更多相关《大学计算机基础大学计算机基础 (30).ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、算法的描述自然自然语言言流程流程图伪代代码算法的描述算法的描述1.自然自然语言言使用平时语言交流的方式将算法的过程描述出来。例:用自然例:用自然语言描述言描述问题“求一个数的求一个数的绝对值”的算法。的算法。输入x 若x0,则执行;否则执行 令y=-x,转到 令y=x 输出y 结束自然语言描述方法简单易学,但是看上去并不直观,尤其复杂的流程结构时,容易引起二义性,一般不常使用。流程图是最早出现的用图形描述算法的工具,直观、准确,被广泛使用。2.流程流程图标准流程准流程图中常用的符号和功能中常用的符号和功能符号名称符号名称符号符号功能功能开始/结束框算法的开始或结束输入/输出框输入数据或输出结果
2、处理框计算或操作判断框条件判断流程线执行方向这是一个顺序结构流程的算法,分别用r表示半径,area表示圆面积例:用流程例:用流程图描述描述问题“输入半径,求入半径,求圆面面积”的算法。的算法。开始输入半径rarea=3.14*r*r输出面积area结束这是一个循环结构流程的算法,首先输入n,为i和sum赋初值,然后开始循环,循环结束后得到求和结果。例:用流程例:用流程图描述描述问题“sum=1+2+n”的算法。的算法。伪代码类似于程序代码,但又不要求严格按照编程语言的语法书写。书写方便,便于转换为程序代码。3.伪代代码算法开始:输入ni1sum0while in sumsum+i ii+1输出
3、sum算法结束例:用例:用伪代代码描述描述问题“sum=1+2+n”的算法。的算法。思考与思考与练习水仙花数是一个3位整数(100999),该数等于各位数的立方和,如153=13+53+33。请设计求水仙花数的算法并描述。水仙花数算法一流程图i 100 i=999?NNYa i的百位数b i的十位数c i的个位数i=a*a*a+b*b*b+c*c*c?输出iY水仙花数算法二伪代码算法开始:for i=1 to 9 for j=0 to 9 for k=0 to 9 if i3+j3+k3=i*100+j*10+k then 输出 i*100+j*10+k endif end endend算法结
4、束算法的复杂性时间代价空间代价分析和分析和评价算法的性能主要考价算法的性能主要考虑以下两个方面:以下两个方面:时间代价代价时间代价是执行算法所耗费的时间。算法的时间代价的大小用算法的时间复杂度来度量。时间复复杂度度是用算法执行基本操作的次数而非消耗的实际时间来度量算法的时间复杂度。空空间代价代价算法的空间代价是指执行算法所耗费的存储空间,主要是辅助空间。算法的空间代价的大小用算法的空间复杂度来度量。算法的空间复杂度是指算法在计算机内执行时所需存储空间的度量。问题时间复复杂度和空度和空间复复杂度哪个更重要度哪个更重要?问题时间复杂度和空间复杂度哪个更重要?由于面对自然界和人类社会的各种问题,计算速度的挑战是第一位的。所以,算法的时间复杂度的分析常常比空间复杂度的分析重要。在许多应用问题中,往往会适当地增加空间代价来减少时间代价。