2.1、算法的基本概念
2.1.1、算法的特性
算法是为了解决某一特定类型问题而定制的一个实现的过程,它的特性如下:
1、有穷性:一个算法必须在执行有穷的步骤后结束,且每一步在有穷的时间内完成,不能无限执行下去。
2、确定性:算法的每一个步骤都要有确定定义,每一个不能有二义性。
3、可行性:算法中的每一步应当都能有效运行,并且最终得到正确的结果。
4、有零个或者多个输入:一个算法应当有零个或者多个输入。
5、有一个输出或者多个输出:程序的意义就是输出一个结果,如果没有输出结果那么就毫无意义。
2.1.2、算法的优劣
1、正确性:指满足具体问题的要求,对任何合法的输入,都有正确的结果。
2、可读性:指算法被理解的难易程度,如果一个算法难以理解,这个算法便不利于推广使用,因此在写算法的时候应该写的简洁明了。
2.2、算法描述
算法包含算法设计和算法分析两个方面:
算法设计:研究怎样针对某一特定问题设计出求解步骤。
算法分析:算法步骤的正确性和复杂性。
2.2.1、自然语言
自然语言就是我们日常交流的语言,这种表达通俗易懂。
例:输入n!,通过控制台输入数字计算出阶乘数
2.2.2、流程图
1、流程图符号:
2、顺序结构:
3、选择结构(1)
3、选择结构(2)
4、循环结构(1)
4、循环结构(2)
2.2.3、N-S流程图
1、顺序结构:
2、选择结构:
3、循环结构: