第三课、初识程序的灵魂------------------------狄泰软件学院
一、初识程序的灵魂
1、数据结构静态描述了数据元素之间的关系
2、高效的程序需要在数据结构的基础上设计和选择算法
高效的程序需要:
(1)、恰当的数据结构
(2)、合适的算法
3、算法是特定问题求解步骤的描述,在计算机中表现为指令的有限序列
(1)、算法是独立存在的一种解决问题的方法和思想
(2)、对于算法而言:语言不重要,重要的是思想
4、算法的特性
(1)、输入:算法具有0个或者多个输入
(2)、输出:算法至少有一个或者多个输出
(3)、有穷性:算法在有限的步骤之后会自动结束而不会自动循环
(4)、确定性:算法的每一步都会有确定的含义,不会出现二义性
(5)、可行性:算法的每一步都是可行的
(6)、正确性:
A、算法对于合法数据能够得到满足要求的结果
B、算法能够处理非法输入,并得出合理的结果
C、算法对于边界数据和压力数据都能得到满足要求的结果
注意:正确性是算法最需要满足的基本准则,但是作为计算机程序,不可能无限制地满足这条准则
(7)、可读性:算法要方便阅读,理解和交流
(8)、健壮性:算法不应该产生莫名其妙的结果
(9)、性价比:利用最少的资源得到满足的结果
二、小结
(1)、算法为了解决实际问题而存在
(2)、数据结构是算法处理问题的载体
(3)、数据结构与算法相辅相成,共同解决问题:程序 = 数据结构 + 算法