数据结构与算法—算法

什么算法呢?

算法就是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每个指令表示一个或者多个操作。

算法特征:

输入输出:算法至少有一个输入条件和输出结果。

有穷性:算法需要在有限的执行次数和执行时间下获得结果。

确定性:算法的每一步操作执行都应该是明确的。

可行性:算法的每个操作必须都是切实可行的。

算法设计要求:

正确性:算法是否获得了正确的结果。

可读性:算法可以被阅读理解的难易程度。

健壮性:算法需要对异常情况的处理。

高效率:时间效率执行算法需要消耗的时间资源。

低存储:储存量低执行算法需要消耗的空间资源。

时间复杂度:

时间复杂度,又称时间复杂性,算法的时间复杂度是一个函数,它描述是该算法的运行时间。时间复杂度常用大O符号表述。

1.用常数1取代运行时间中所有常数 O(1)

2.在修改运行次数的函数中,只保留最高阶项 n^3+2n^2+5 ——> O(n^3)

3.在最高阶存在且不等于1,则去除这个项目相乘的常数 2n^3——> O(n^3)

常见的时间复杂度:


O(1) < O(log n) < O(n) < O(nlog n) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O((n^n)  

空间复杂度:

算法的空间复杂度通过计算算法所需的存储空间,在一个算法执行的过程中,变量、结果都需要保存起来,进行下一步计算,这些称为算法执行时的辅助空间。在考量算法的空间复杂度时,主要是考虑算法执行时所需的辅助空间

你可能感兴趣的:(数据结构与算法—算法)