1.5 算法与算法描述

1.5 算法与算法描述

【算法的定义】

算法是规则的有限集合,是为解决特定问题而规定的一系列操作。也就是说算法是处理步骤的序列集合。

【算法的特性】 :

有限性、确定性、可行性和输入输出特性。

【算法设计的要求】

算法需要保证正确性、可读性、健壮性和高效率低存储量等问题。

算法的正确性是不言而喻的

正确可分为三个层次:
1、一般数据能得出要求结果;
2、精心选择的边界数据也能得到要求结果;
3、所有合法数据都能得到要求结果。一层比一层要求更高。

例:要求 n 个数的最大值问题,给出示意算法如下:

max=0; 
for(i=1 ;i<=n;i++{
	scanf("%f",&x); if(x>max) max=x;
} 

求最大值的算法无语法错误;当输入的 n 个数全为正数时,结果正确,如果输的入 n 个数全为负数时,求 得的最大值为
0,显然这个结果不对,由这个简单的例子可以说明算法正确性的内涵。

上面例子是 n 个数中求最大值算法的核心语句。分析算法正确性是第几层次?

  • 可读性就是便于理解和交流,有助于合作开发。
  • 健壮性就是耐折腾,非法操作时也不至于瘫痪。
  • 高效率和低存储即:执行效率高,存储容量少,但往往需要折中。

【算法描述的工具】

描述算法的工具可有多种,可用自然语言、框图或高级语言实现。自然语言简单但容易二意表达,框图易于表达处理流程而难于表达数据流程,高级语言准确但细节过多。

因此我们选择用接近于高级语言而不是高级语言的类语言来表达。其优势为具有一般的语言规则而舍弃语言细节,把注意力集中于算法处理步骤本身。用 if then结构大家都能理解,那就是如果满足条件则执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值