算法复杂性分析(Algorithm complexity analysis)主要是针对运行该算法所需要的计算机资源的多少。当算法所需要的资源越多,该算法的复杂性越高;反之,当算法所需要的资源越少,算法的复杂性越低。对于任意给定的一个问题,设计出复杂性最低的算法是在设计算法时追求的重要目标之一;而当给定的问题存在多种算法时,选择其中复杂性最低的算法是选用算法时遵循的重要准则。因此,算法的复杂性分析对算法的设计或选用具有重要的指导意义和实用价值。通常,对于一个算法的复杂性分析主要是对算法效率的分析,包括衡量其运行速度的时间效率及衡量其运行时所需要占用空间大小的空间效率。