【算法打卡60天】Day2复杂度分析(下)

今天学习了第一阶段的“复杂度分析”,我的收获有:
四个复杂度分析方面的知识点,包括最好情况时间复杂度(best case time complexity)、最坏情况时间复杂度(worst case time complexity)、平均情况时间复杂度(average case time complexity)、均摊时间复杂度(amortized time complexity)。

最好情况时间复杂度就是,在最理想的情况下,执行这段代码的时间复杂度。
最坏情况时间复杂度就是,在最糟糕的情况下,执行这段代码的时间复杂度。
最好和最坏情况的复杂度发生的概率不大,一般还是平均情况实际复杂度。

在文中的例子中,推到了公式,了解了概率论中的加权平均值,也叫期望值。

最重要的是了解了均摊时间复杂度,通过摊还分析法,分析过程非常重要。
通过这几个概念,更加了解了代码执行效率。

本文由【极客时间】专栏《数据结构与算法之美》学习得来。

你可能感兴趣的:(【算法打卡60天】Day2复杂度分析(下))