算法的基本概念
数据结构
将现实世界的问题进行数据化。
算法(程序=算法+数据结构)
处理信息和解决问题。
算法的特性
1.有穷性
一个算法必须在执行有穷后结束,且每一步都在又穷时间内完成。[1]
2.确定性
算法中每条指令必须要有确切的含义,对于相同的输入只能得出相同的输出。
3.可行性
算法中描述的操作都可以通过已经实现的基本运算执行有限次来实现。
4.输入,输出
1.输入:
一个算法可以有一零个或多个输入,这些输入取自某个特定的集合。
2.输出:
一个算法可以有多个或一个输出,且每个输出都与输入有某种特定关系。
设计算法时要追求的目标
1.正确性
算法可以正确解决问题。
2.可读性
便于他人理解
3.健壮性
输入非法数据时,算法不会随便给出乱七八糟的数据,能够及时的作出处理。
4.高效率与低存储需求
省时省内存。即时间复杂度低,空间复杂度低。
算法必须是有穷的,而程序可以是无穷的。 ↩︎