研究数据结构的目的在于更好的程序设计。而程序设计离不开数据的运算,这种运算的过程(或解题方法)通常称为算法。
例如:要计算机求解已知3个坐标点 a(x1,x2),b(x2,y2),c(x3,y3)所构成的三角形面积。
计算三角形面积 必须先求边长,边长公式:
ab = √(x1-x2)² + (y1-y2)²
ac = √(x1-x3)² + (y1-y3)²
bc = √(x2-x3)² + (y2-y3)²
s = ab+ac+bc/2
三角形面积公式:
area= √s(s-ab)(a-ac)(s-bc)
有了上面的公式以后,就要给出求解的过程了,这就是所谓的算法。
算法描述
从上述实例来看算法是对问题求解步骤的一种描述。通俗的说算法就是一种解题方法。严格的说,算法是由若干条指令组成的又穷序列,其中每条指令表示一个或多个操作。算法必须满足以下五大准则:
1、输入
2、输出
3、有穷性
4、确定行
5、可行性
算法分析
四方面考虑
1、算法正确性。
2、时间复杂性。
3、空间复杂性。
4、可读性和可操作性。
这里主要学习算法时间复杂性
算法时间的复杂性就是:每条程序语句执行的时间之和。每条语句的执行次数与该程序语句执行一次的时间 的乘积。