算法(Algorithm) 是对某一个或者某一类问题的解决方案的描述,根据问题的输入,在有限的计算时间里输出预期的结果。不同的算法解决问题所需的时间和空间可能会不同,通常用时间复杂度和空间复杂度来评估算法的优劣。
算法5个特征:
1,有穷性。算法必须在执行有限个操作后终止。
2,确切性。算法的每一个操作必须有明确的定义。
3,输入项。算法有零个或多个输入,描述算法的初始状态。
4,输出项。算法有一个或多个输出,没有输出的算法我们认为是没有意义的。
5,可行性。算法的每个计算操作都可以在有限时间内完成。
数据结构和算法之间有什么关系呢?
数据结构描述了数据元素之间的逻辑关系,算法描述了数据元素的操作步骤,数据结构和算法组成了程序世界。数据结构和算法之间是不可分割的关系,数据结构是程序的基础,算法将数据互相联系起来,形成一套能解决具体问题的方案。
在解决问题时,一般我们会优先确定数据结构,然后再来完善算法,有时也会反过来,根据算法来选择合适的数据结构。选择一个合适的数据结构,可以降低算法的算杂度,提高算法的效率。