算法描述与实现

目录

1 算法的特性

2 算法设计的要求


1 算法的特性

有穷性:一个算法必须总是在执行有穷步骤之后结束,且每一步都在有穷时间内完成。

确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性,并且在任何条件下,算

法只有唯一的一条执行路径。

可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。算法的可行性有两层含义,一是算法中的各个语句是可行的,二是各个可行的语句的有限步骤对解决问题是可行的。

输入:一个算法有零个或多个输入,这些输入取自某个特定的对象的集合。

输出:一个算法有零个或多个输出,这些输出是与输入有某种特定关系的量。

2 算法与程序

例 欧几里得算法

 

int Euclid(int m,int n)    //计算m,n的最大公约数
{
    do
    {
       r=m%n;
       m=n;
       n=r;
    }while(r);
    return m;
}

这个算法拿到计算机上调试没有通过,故称为算法。

如果在程序里面加上int r,则称为程序。

2 算法设计的要求

正确性:能够确保对于某种相对程度的随机输入有正确的输出。

可读性:算法描述清晰易懂,便于修改和移植,有利于阅读者对程序的理解。

健壮性:算法应该具有容错处理,当输入非法数据时,算法能适当做出反应或执行处理,而不会产生莫名其妙的输出结果。

效率:效率指的是算法的执行时间。

存储量需求:值算法执行过程中所需要的最大的存储空间。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值