时间复杂度是用来衡量一个算法的执行,随着数据规模增大,而增长的时间成本
是不依赖于环境因素的
大O表示法
fn=3*n+3
gn=n
c=4,在n=3后,gn可以作为fn的渐进上界,表示为O(n)
fn=5*floor(log2(n))+9
gn=log2(n)
O(log2n)
按时间复杂度从低到高
O(1)
O(log(n))
O(n)
O(n*log(n))
O(n^2)
O(2^n)
O(n!)
空间复杂度用来衡量一个算法执行岁数据规模增大,而增长的额外空间成本
对于二分查找来说
最坏情况O(logn)
最好情况O(1)
空间复杂度
需要长湖三个指针i j m,因此额外占用的空间是O(1)