最好情况时间复杂度:
**在最理想的情况下,执行这段代码的时间复杂度。
最坏情况时间复杂度:
在最糟糕的情况下,执行这段代码的时间复杂度。
平均情况时间复杂度:
将各种情况发生的概率考虑进去,也叫加权平均时间复杂度或者期望时间复杂度。
均摊时间复杂度:
对应的分析方法,摊还分析(或叫平摊分析)
简要看一下这个思想:对一个数据结构进行一组连续操作中,大部分情况下时间复杂度都很低,只有个别情况下时间复杂度比较高,而且这些操作之间存在前后连贯的时序关系,此时,我们可以将这一组操作放在一块进行分析,看是否能将较高时间复杂度那次操作的耗时,平摊到其他那些时间复杂度比较低的操作上。而且,在能够应用均摊时间复杂度分析的场合,一般均摊时间复杂度就是最好情况时间复杂度。此处,应该掌握的是摊还分析。
之所以引入这几个复杂度概念,是因为同一段代码,在不同输入的情况下,复杂度有可能不一样。
此处粘贴极客时间专栏王争老师给一位同学留言的回复,觉着很有用。
距离写第一篇博客已经很久了,上次写过之后就再没有打开看了,今天偶然看到涨了二十几个粉,浏览量也两千多了,心里有点开心。当初以为应该不会被人发现我的学习笔记,没想到真会有人浏览到。接下来,会继续努力的,这种喜悦真的不错,将学习的知识系统化,放在网上,供他人参考,希望自己每天进步一点点,也希望可以帮助到他人。