算法的概念
可以将算法理解为使用计算机解决问题的方法和步骤。算法 是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每条指令 都表示一个或者多个操作。
算法与程序的区别
程序与某种语言有关,能直接在机器上运行;算法与特定的语言无关,可以用任何语言实现,甚至可以用自然语言实现。
算法的特点
①输入:一个算法有零个或者多个输入,这些输入取自于某个特定对象的集合。
②输出:一个算法有一个或者多个输出,这些输出是同输入有着某种特定关系的量。
③有穷性:算法在有限的步骤之后会自动结束,并不会无限循环,且每个步骤在可接受的时间内完成。
④确定性:算法中的每一步都有确定的含义,不会出现二义性。
⑤可行性:算法每一步都可以执行,也就是说每个步骤都可执行有限的次数完成。
例:
1+2+3+......+10=?怎么算?
算法Ⅰ:1+2+3+4+5+6+7+8+9+10=55
算法Ⅱ:(1+9)+....+(4+6)+5+10=55
上面列出两种算法。
算法如何达到“好”的标准
一个好算法应满足:
①正确性:算法能正确的解决问题。
②可读性:一个好算法应有良好的可读性,方便人们理解。
③健壮性:当输入非法数据时,算法应做出适应反应或处理,而不出输出莫名其妙的结果。
④效率和低存储量需求:效率是算法执行的时间,存储量需求是指执行算法时所需要的最大存储空间。
算法的表示
常见的有自然语言、流程图、伪代码等。
自然语言:
是指人们日常生活使用的语音,如汉语、英语。
流程图:
是用箭头、线段、图形框表达一个算法。
伪代码:
是介于自然语言与计算机语言之间的文字和符号,是使被描述的算法可以容易的用其他语言(如C语言、java)实现。