算法的定义
通常,定义算法是“为解决某个特定任务而规定的指令序列”。
算法的5个基本特性
有输入。 算法必须输入0或更大的值。 这些是算法开始运算之前赋予算法的量。 这些输入来自特定对象的集合。 它们可以使用输入语句从外部提供,也可以使用赋值语句在算法中提供。
有输出。 一个算法需要一个以上的输出,输出的量是算法的计算结果。
确定性。 算法的各个步骤必须准确、无歧义地定义。 针对不同情况,应采取的动作必须严格明确规定。
示例1 :
voidfa () { int x=5,y=10; z=x y; 如果解释为//,是X(Y )? (x ) y? printf('%d、%d、%d '、x、y、z ); }voidfb () { int x=5,y=10; z=x(y ); //x y被解释为x(y ) printf('%d、%d、%d”、x、y、z )。 }voidfc () {intx=5,y=10; z=(x ) y; //x y被解释为(x ) yprintf('%d,%d,%d”,x,y,z )。 }
具有贫困性。 一个算法在任何情况下都必须在执行穷步骤后退出。
示例2 :
voidfa () {inti=0,s=0; while(I10 )//死循环s; //不符合具有贫困性的I的printf(「s=%d,i=%dn”,s,I ); }voidfb () {inti=0,s=0; while(I10 )//i10要运行几次{s; //s执行? 次I; //i执行? (printf )“s=%d,i=%dn”,s,I ); )有效性。 算法的所有运算都必须足够基本。 也就是说,它们原则上可以正确执行,只要用笔和纸进行有限次运算就可以了。
示例3 :
合计: s=1(2) (/不可实现。
算法设计的要求
1 )正确性
a .没有语法错误
b .对n组输入给出正确结果;
c .对特殊输入给出正确的结果
d .对所有输入给出正确的结果。
2 )可读性:“算法主要用于人的阅读和交流”。
3 )健壮性
4 )高效和低存储
来源:我是一个骑自行车的农民。 转载请留下出处和链接!
正文链接: http://www.54manong.com/id=16
(); (window.slot bydup=window.slot bydup|[ ] ).push({id:'u3646208 ',container: s } ); ()、)。 ); (window.slot bydup=window.slot bydup|[ ] ).push({id:'u3646147 ',container: s } ); () );