在以前的两篇文章中介绍了C语言的入门程序入门程序1,入门程序2,从这篇文章咱们就开始介绍C语言基础。
今天来给你们介绍算法的特性和算法的表示。算法
算法包含两方面的内容:算法设计和算法分析segmentfault
算法设计其实就是针对某一特定类型的问题而设计的一个实现过程。算法有如下几个特性:学习
也就是说咱们在设计算法是的知足上面所说的特性。固然算法也是有好有坏的,那么咱们怎样去衡量一个算法的优劣呢?
算法分析其实就是在衡量一个算法的优劣,一般会从一下几个方面来分析:spa
在描述一个算法时一般使用的方法有:天然语言、流程图、N-S图等。设计
天然语言这种表达方式通俗易懂,咱们经过一个具体的实例了解一下。
需求:任意输入3个数,求出其中的最小数。
(1) 定义4个变量分别是a,b,c和min。
(2) 输入大小不一样的三个数分别赋值给a,b,c。
(3) 判断a是否小于b,若是小于,则将a的值赋给min,不然将b的值赋给min。
(4) 判断min是否小于c,若是小于,则执行(5),不然将c的值赋给min。
(5) 输出min。
这种表达方式的好处就是简单易懂,可是当遇到复杂的算法时天然语言就显得不是很方便了。3d
流程图就是用一些图框来表明各类不一样性质的操做,用流程线来指示算法的执行方向。他的特色就是直观形象,应用很普遍。
下图介绍了流程图的符号以及含义blog
流程图有三种基本结构,即顺序结构、选择结构和循环结构。图片
咱们再把上面的需求用流程图来表示一下ip
N-S流程图是将所有的算法写在一个矩形框内,省去了流程图中的流程线。下面继续看一个实例:
需求:输入一个数,判别是否为素数。get
算法的基本特性和算法的表示介绍到就结束了。