算法时间复杂度(考研)
如何评判时间开销?
算法的时间复杂度:
在这个程序我们假设每一行的时间开销是1ms,计算每一行的调用次数并获得时间总和,我们可以看到loveYou()这个算法的
时间开销与问题规模n的关系为T(n)=3n+3
问题来了时间开销的时间是否需要十分精确或者说是否可以忽略表示式某些部分呢?
答:是可以的,这个就需要了解到高等数学中的极限的概念。在一个式子中我们往往可以只考虑阶数最高的那部分。
当我们想判断哪个系数更到的时候我们可以用到两个方法:加法规则和乘法规则
对于一个算法来讲,时间开销越低越好。提示:表中的Y表示时间开销T(n)。
这里我们做一个小题:目的是了解一个问题的时间开销“最好的情况”,“最坏的情况”和“平均情况”。
一般情况下我们评价一个算法只考虑“最坏情况”和“平均情况”。因为最好情况对我们评判一个算法的好坏没有实际价值。
总结: