俗话说,时间复杂度和空间复杂度是衡量一个算法效率的两个重要指标,然而随着硬件存储技术的进步,存储空间开始用TB,PB,EB作为单位来衡量,空间复杂度似乎显得不再那么紧要。但是时间复杂度还是需要我们细细考量。
什么是时间复杂度? 在计算机科学中,算法的 时间复杂度(Time complexity)是一个函数,它定性描述该算法的运行时间,记为 T(n) ,其中 n 是问题的规模,当n变化时,T(n) 也会随之变化。 如何表述时间复杂度? 实际情况中不运行程序,我们没有办法准确计算出算法的运行时间,所以T(n)的取值常用 渐进时间复杂度来表示,渐进时间复杂度用 大O符号来表示。 例如,如果一个算法对于任何大小为 n(必须比 n0 大)的输入,它至多需要 5n3 + 3n 的时间运行完毕,那么它的渐近时间复杂度是 O(n3),即T(n)=O(f(n))=O(n3), f(n)= 5n3 + 3n 称为 频度函数,在计算时间复杂度的时候常用到此函数。 如何计算渐进时间复杂度O?大 O 符号是由德国数论学