什么是时间复杂度?
要学好算法,就必须理解时间复杂度这块重要的基石,今天我们来聊聊为什么要引入时间复杂度,什么是时间复杂度以及如何去算一个算法的时间复杂度
时间复杂度的意义
它是衡量代码好坏的重要指标:包括运行时间和占用空间
问:代码都还没有运行起来,又怎么知道代码运行所花的时间呢?
答:由于运行环境和输入规模的影响,代码的绝对执行时间是无法估计的。但是我们却可以预估代码的基本操作次数。
代码基本操作执行次数
场景1:
问:一条长10寸的面包,如果每3天吃掉1寸,那么吃掉整个面包需要几天?
答:3 X 10 = 30天
问:那如果面包长度为N寸呢?
答:3 X n = 3n 天
如果用一个函数来表达这个相对时间,可以记作 T(n) = 3n