上节课讲了简单的时间、空间复杂度分析方法,这节课主要讲了复杂情况下的时间复杂度的其他表示方法:
- 最好情况时间复杂度
- 最坏情况时间复杂度
- 平均时间复杂度
- 均摊时间复杂度
对于前两种(最好最坏)时间复杂度分析,分别表示了当输入的数据进入算法中运行的时间最短和最长的时间量级。
而对于后两种,其实是同一个东西。把各种情况下算法需要执行的时间平均计算一下,就是时间复杂度。而均摊时间复杂是是平均时间复杂的一种特殊情况,当对一个数据结构进行一组连续操作中,大部分情况下时间复杂度都很低,只有个别情况下时间复杂度较高,而且这些操作之间存在连续的时序关系,这时就可以将较高时间复杂度的那次操作的耗时,均摊到其他时间复杂度较低的操作上,这就是均摊时间复杂度。而且,在能应用时间复杂度分析场合,一般均摊时间复杂度就是等于最好情况时间复杂度。
网友评论