数据结构与算法(电子)0105算法的基本概念课件_第1页
数据结构与算法(电子)0105算法的基本概念课件_第2页
数据结构与算法(电子)0105算法的基本概念课件_第3页
数据结构与算法(电子)0105算法的基本概念课件_第4页
数据结构与算法(电子)0105算法的基本概念课件_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

算法的基本概念算法(Algorithm)是为了解决某类问题而规定的一个有限长的操作序列。算法的概念有穷性确定性可行性有输入一个算法必须总是在执行有穷步后结束,且每一步都必须在有穷时间内完成。有输出算法的特性有穷性确定性可行性有输入一个算法必须总是在执行有穷步后结束,且每一步都必须在有穷时间内完成。有输出算法的特性三分之一三分之一有穷性确定性可行性有输入对于每种情况下所应执行的操作,在算法中都有确切的规定,使算法的执行者或阅读者都能明确其含义及如何执行。有输出#include<stdio.h>main(){ doublescore[10],sum=0.0; inti; printf("inputscores:"); for(i=0;i<10;i++) scanf("%lf",&score[i]); for(i=0;i<10;i++) { sum=sum+score[i]; } printf("AverageScoreis%f\n",sum/10);}有穷性确定性可行性有输入算法中的所有操作都可以通过已经实现的基本操作运算有限次实现之。有输出1+2+3+……+100=?有穷性确定性可行性有输入作为算法加工对象的量值,通常体现为算法中的一组变量。有些输入量需要在算法执行过程中输入,而有的算法表面上可以没有输入,实际上已被嵌入算法之中。有输出有穷性确定性可行性有输入它是一组与“输入”有确定关系的量值,是算法进行信息加工后得到的结果。有输出1+2+3+……+100=?5050在合理的数据输入下,能够在有限的时间内得到正确的结果。通常对算法是否“正确”的理解可以有以下四个层次:算法优劣的评价a.程序中不含语法错误;b.程序对于几组输入数据能够得出满足要求的结果;算法优劣的评价正确性c.程序对于精心选择的、典型、苛刻且带有刁难性的几组输入数据能够得出满足要求的结果;算法优劣的评价正确性利用计算器求61000=?d.程序对于一切合法的输入数据都能得出满足要求的结果。显然达到第d层的意义下的正确是极为困难的,一般情况下,通常以第c层意义的正确性作为衡量一个程序是否正确的标准。算法优劣的评价正确性算法主要是为了人的阅读与交流,其次才是为计算机执行,因此算法应该易于人的理解;另一方面,晦涩难读的程序易于隐藏较多错误而难以调试。可读性算法优劣的评价#include

<stdio.h>

main()

{

double

score[10],sum

=

0.0;int

i;

printf("input

scores:");

for(i=0;i<10;i++)

scanf("%lf",&score[i]);

for(i=0;i<10;i++)

sum

=

sum

+

score[i];

printf("Average

Score

is

%f\n",

sum/10);

}当输入的数据非法时,算法应当恰当地作出反映或进行相应处理,而不是产生莫名奇妙的输出结果。并且,处理出错的方法不应是中断程序的执行,而应是返回一个表示错误或错误性质的值。健壮性算法优劣的评价5/0@?!88

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论