算法是数据加工的核心部分
什么是算法?
-算法是规则的有限集合,是为解决特定问题而规定的一系列操作
算法的特性
-有限性:有限步骤之内正常结束,不能形成无穷循环
-确定性:算法中的每一个步骤必须有确定含义,无二义性,二义=二意,不能有第二种意思,例如开学,是秋季的开学还是春季
-输入:有多个或0个输入
-输出:至少有一个或多个输出,算法是为了解决特定问题,所以解决问题必须要有输出,输出不一定是打印,也可以求解,带出,完成某些操作都可以是输出
-可行性:原则上能精确进行,操作可通过已实现的基本运算执行有限次(时间内)而完成
算法设计的要求
-算法的正确性,正确性有三个等级
-所设计的程序对于几组输入数据能够得出满足要求的结果
-所设计的程序对于精心选择的典型、苛刻而带有刁难性的几组输入数据能够得到满足的要求的结果
-程序对于一切合法的输入数据都能产生满足要求的结果
例如:
-可读性
-一个好的算法首先应该便于人们阅读并理解和相互交流,其次才是机器的可执行性。可读性好的算法有助于人对算法的理解,难懂的算法易于隐藏错误且难于调试和修改
-健壮性(鲁棒性)
-在非法输入的情况下,也能够产生合理的回应,即对非法输入的抵抗能力。他强调即使输入非法数据,算法应能加以识别并且作出处理,而不是产生误动作或陷入瘫痪
-高效率和低存储量
-算法的效率通常是指算法的执行时间。对于一个具体的问题的解决通常可以有多个算法,对于执行时间短的算法其效率就高
-所谓存储量的需求,是指算法在执行过程中需要的最大存储空间,这两者都与问题的规模有关。
-在设计和使用算法的时候,要注意高效率和低存储量的平衡配合使用,当然越低越好
程序:是算法在计算机的体现
-算法描述
-算法可以使用自然语言、框图、高级语言描述
-使用自然语言简单,但是有二义
-使用框图易表达处理流程,但是难表达数据流程
-高级语言准确但细节过多
-因此采用类语言来描述算法
-类语言接近于高级语言而不是严格的高级语言
-具有高级语言的一般语句规格,撇掉语言中的细节,把注意力主要集中在算法处理步骤和本身的描述上
例如:
if (<表达式>) 语句:
else 语句2
要点:
-掌握算法的定义与特性
-力争做出解决一类问题的优秀算法
-算法描述类语言,突出处理过程思路
提醒:不同语言要使用不同的类语言描述方法
。
版权声明:本文为yinghua1234原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。