一、算法的概念
在实际生活中,算法就是为求解某一问题所采取的方法和步骤。
在计算机领域,根据所要求解的问题,在数据的逻辑结构和物理结构基础上,在有限步骤内解决这一问题
所采用的一组指令序列。
二、算法的特性
1.有限性:有限步骤之内正常结束,不能形成无穷循环。
2.确定性:算法中的每一个步骤必须有确定含义,不能有二义性。
3.可行性:算法中的每一个步骤都应当能有效执行,并得到确切结果。
4.输入:有0个或多个输入。
5.输出:至少有一个或多个输出。
三、算法的描述方法
描述算法的方法主要有自然语言、流程图、伪代码、程序设计语言等,下面以“求一组数据中的最大数和
最小数”的问题求解为例讨论上述各种算法的描述方法。
1.自然语言
① 将第1个数和第2个数相比较,记录最大数与最小数。
② 将最大数和最小数与第3个数比较,记录最大数与最小数。
③ 重复步骤②,依次与后序各数进行比较,直至结束。
2.流程图
用流程图描述算法,要求按照流程图的设计规则,是一种更规范的算法描述方法,也是程序设计中通常
采用的一种算法描述方法,通常也是程序写的前提和基础。
3.伪代码(类语言)
_ _4.程序设计语言
四、算法设计的要求
1.正确性:“正确”的含义可以分为三个层次:
① 对于几组输入数据能够得出满足要求的结果。
② 对于精心选择的典型、苛刻且带有刁难性的几组输入数据能够得到满足要求的结果。
③ 对于一切合法的输入数据都能产生满足要求的结果。
2.可读性:可读性好有助于人对算法的理解,方便阅读与交流。
3.稳健性:当输入数据非法时,算法也能做出正确反应或进行相应的处理,而不会产生一些莫名其妙的输
出结果。(感觉就是要通过一些基本测试,考虑要周到)
4.高效率低存储量:通俗地说,效率指的是算法执行的时间。对于同一个问题,若有多个算法可以解决,
执行时间短的算法效率就高。存储量指的是算法执行过程中所需要的最大存储空间。