数据结构与算法 时间复杂度

我是锅巴

时间复杂度是对算法在执行时花费时间长短的一个量度

时间复杂度并不是通过时间来衡量,因为机器不同。时间复杂度是一个数学表达式。

时间复杂度取决于算法的基本操作的执行次数。

计算方式如图所示:

在实际应用中只需要估算,具体方法如下:

例1:

答案为O(N)。 O即代表为估算结果。

++k、++count并不算作次数,计算的对象为循环执行的次数。

一般情况下用N来表示次数,但也可以用其他未知数。

例2:

答案为O(M+N)。

例3:

答案为O(1)。

代表意义为算法需要运行常数次。

有的算法如查找算法无法确定固定的时间复杂度。

当一个算法随着输入内容不同,时间复杂度也不同,我们选取预期最坏的时间复杂度。

当求解较为复杂的算法的时间复杂度时,不能通过代码来分析,要通过原理来分析。

空间复杂度是对算法在执行时需要额外占用内存大小的一个量度。

计算规则基本与空间复杂度一致,O渐进。

经验分享 程序员 微信小程序 职场和发展