如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数据结构教程第三课算法及算法设计要求作者:未知阅读人次:28183文章来源:HYPERLINK"http://www.bccn.net/ShowCopyFrom.asp?ChannelID=1&SourceName=未知"未知发布时间:2004-11-12HYPERLINK"http://www.bccn.net/article/comment/?/=231.html"\t"_blank"网友评论(31)条本课主题:算法及算法设计要求教学目的:掌握算法的定义及特性,算法设计的要求教学重点:算法的特性,算法设计要求教学难点:算法设计的要求授课内容:一、算法的定义及特性1、定义:ispass(intnum[4][4]){inti,j;for(i=0;i<4;i++)for(j=0;j<4;j++)if(num[i][j]!=i*4+j+1)/*一条指令,多个操作*/return0;return1;}/*上面是一个HYPERLINK"http://219.219.90.4:8080/datastru/class03/Puzzle.txt"类似华容道游戏中判断游戏是否结束的算法*/算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作;此外,一个算法还具有下列五个重要特性:2、算法的五个特性:有穷性一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成;确定性算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。有任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的输出。可行性一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。输入一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合。输出一个算法有一个或多个的输出。这些输出是同输入有着某些特定关系的量。例:有穷性haha(){/*onlyajoke,donothing.*/}main(){printf("请稍等...您将知道世界的未日...");while(1)haha();}确定性floataverage(int*a,intnum){inti;longsum=0;for(i=0;i<num;i++)sum+=*(a++);returnsum/num;}main(){intscore[10]={1,2,3,4,5,6,7,8,9,0};printf("%f",average(score,10);}可行性输入输出getsum(intnum){inti,sum=0;for(i=1;i<=num;i++)sum+=i;}/*无输出的算法没有任何意义,二、算法设计的要求1、正确性算法正确性的四个层次程序不含语法错误。max(inta,intb,intc){if(a>b){if(a>c)returnc;elsereturna;}}程序对于几组输入数据能够得出满足规格说明要求的结果。max(inta,intb,intc){if(a>b){if(a>c)returna;elsereturnc;}}/*8,6,7*//*9,3,2*/程序对于精心选择的典型、苛刻而带有刁难性的几组输入数据能够得出满足规格说明要求的结果。max(inta,intb,intc){if(a>b){if(a>c)returna;elsereturnc;}else{if(b>c)returnb;elsereturnc;}}程序对于一切合法的输入数据都能产生满足规格说明要求的结果。2、可读性3、健壮性4、效率与低存储量需求效率指的是算法执行时间。对于解决同一问题的多个算法,执行时间短的算法效率高。存储量需求指算法执行过程中所需要的最大存储空间。两者都与问题的规模有关。算法一算法二在三个整数中求最大者max(inta,intb,intc){if(a>b){if(a>c)returna;elsereturnc;}else{if(b>c)returnb;elsereturnc;}/*无需额外存储空间,只需两次比较*/max(inta[3]){intc,inti;c=a[0];for(i=1;i<3;i++)if(a[i]>c)c=a[i];returnc;}/*需要两个额外的存储空间,两次比较,至少一次赋值*//*共需5个整型数空间*/求100个整数中最大者同上的算法难写,难读max(inta[100]){intc,inti;c=a[0];for(i=1;i<100;i++)if(a[i]>c)c=a[i];returnc;}/*共需102个整型数空间*/三、总结1、HYPERLINK"http://219.219.90.4:8