算法:
1.算法的定义:算法是对待特定问题求解步骤的描述,简单来说,就是计算机中一条一条指令的有限序列,其中每个指令可以表示一个或者多个操作。
2.算法的描述:
![](https://i-blog.csdnimg.cn/blog_migrate/b634a02f1423e840028e0029da26ab6e.png)
1>.自然语言:英语、中文(就是用文字描述)
2>.流程图:传统流程图、NS流程图
3>.伪代码、类语言:类C语言
4>.程序代码:c、java...
3.算法和程序的区分
•算法:算法是解决问题的一个过程或者是一种方法,考虑的是如何将输入转换成输出,一个问题可以有多种算法。
•程序:是用某种程序语言一步一步具体实现的
程序=数据结构+算法
数据结构通过算法现实操作,算法根据数据结构设计程序。
4.算法的特性
1.有穷性:步骤和步骤的执行时间是有限的,不是无穷的。
2.确定性:算法中的每一条指令有明确的含义,没有二义性,在任何条件下,只有唯一的执行路径,(就是相同的输入只能有相同的输出)
3.可行性:算法时可执行的,算法描述的操作可以通过已经实现的基本操作执行有限次来实现。
4.输入:一个算法可以有0或者多个输入
5.输出:一个算法有1个或者多个输出
5.算法设计要求
1>.正确性:程序对精心选择的、典型的、苛刻的且带有刁难性的几组输入数据能够得到满足要求的结果
2>.可读性:易于人的阅读
3>.健壮性(鲁棒性):当输入非法数据时或者出现意外情况时,算法恰当的做出反应或者进行相应的处理,而不是莫名其妙的输出结果;处理出错算法时,不是中断程序的执行,而应是返回一个表示错误或者错误性质的值,以便在更高的抽象层次上进行处理。
4>.高效性:尽量时间少,存储控股减少。
算法分析:
一个好的算法首先具备正确性,