贴原文链接:究竟什么是时间复杂度,怎么求时间复杂度,看这一篇就够了
核心:方便开发者估算程序运行时间
方式:估计算法的操作单元数量来代表程序消耗的时间
假设算法的问题规模为n,那么操作单元数量便用函数f(n)来表示,随着规模增大,算法执行时间和f(n)的增长率相同,称为:算法的渐近时间复杂度,简称时间复杂度 记为:O(f(n))
O:大O用来表示上界的,就是对任意数据输入的运行时间的上界:就是最复杂的情况就是这么复杂了
例如:插入排序的时间复杂度我们说是O(n^2) 但是如果数据有序的情况下时间复杂度是O(n),即只需遍历一遍就可以跑完程序,那么,对于所有的输入情况来讲,最复杂的情况的时间复杂度O(n^2),即有多少数据遍历多少遍,所以我们称插入排序的时间复杂度为O(n^2)