Logo
Section 1 / 6

时间复杂度简介 - 大O表示法

算法效率简介(阅读时间:2分钟)

导入

时间复杂度简介 - 大O表示法

算法效率简介(阅读时间:2分钟)

算法的时间复杂度指的是其运行时间随输入数量增减的变化关系。描述算法性能和复杂度(操作次数)的表示方法称为大O符号(Big O)。我们可以计算特定算法所需的执行时间(时间复杂度)和空间占用(空间复杂度),从而判断该算法在此场景下是否适用。

最常见的几种时间复杂度如下:

颜色代表时间复杂度的好坏程度:绿色表示优秀,红色表示极差。一张展示不同复杂度效率差异的图表清晰地说明了为什么常数时间和对数时间的运行效率最高,而指数时间和二次时间的效率最低:

在分析算法运行时间时,存在最坏情况、平均情况和最好情况三种场景,它们各自具有不同的时间复杂度。通常情况下,最坏情况最为重要,因为我们需要评估算法在最不利条件下可能需要的执行时间。然而,准确确定最坏情况往往非常困难。因此,我们通常考虑一种较坏但并非绝对最坏的情形。这可能导致两种结果:一种是过于乐观的结果,即实际运行情况远比预期糟糕;另一种是过于悲观的结果,即预期表现远比实际情况差。

在接下来的几节课中,我将详细讨论各种复杂度类型。

常数时间复杂度 - O(1)