一、算法和算法分析

本文介绍了算法的五个基本特征:有穷性、确定性、可行性、输入和输出,并强调了算法设计的四个关键要求——正确性、可读性、健壮性和效率。正确性是衡量算法合格的标准,健壮性体现在处理非法输入时能给出适当反馈,而效率关乎时间和空间复杂度。

一、算法的五个特征

  • 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
  • 确定性:算法中的每一条指令必须有确切的含义,没有二义性,在任何条件下,只有唯一的一条执行路径,即对于相同的输入只能得到相同的输出。
  • 可行性:算法是可执行的,算法描述的操作可以通过已经实现的基本操作行有限次来实现。
  • 输入:一个算法有零个或多个输入。
  • 输出:一个算法有一个绒多个输出。

二、算法设计的要求

正确性(Correctness)

  算法满足问题要求,能正确解决问题算法转化为程序后要注意:

  1.   程序中不含语法错误;
  2.  程序对于几组输入数据能够得出满足要求的结果;
  3.  程序对于精心选择的、典型、苛刻且带有刁难性的组输入数据能够得出满足要求的结   果;
  4.  程序对于—切合法的输入数据都能得出满足要求的果。

通常以第三层意义上的正确性作为衡量一个算法是合格的标准

可读性(Readability)

  1.  算法主要是为了人的阅读和交流,其次才是为计算机执行,因此算法应该易于人的理解;
  2.  另一方面,晦涩难读的算法易于隐藏较多错误而难以调试

健壮性(Robustness)

  1.  指当输入非法数据时,算法恰当的做出反应或进行相应处理,而不是产生莫名其妙的输出结果。
  2.  处理出错的方法,不应是中断程序的执行,而应是返回一个表示错误或错误性质的值,以便在更高的抽象层次上进行处理

高效性(Efficiency)

   要求花费尽量少的时间和尽量低的存储需求

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值