在很多数据结构的面试题中看似简单,但是对题目的要求却挺高,主要就体现在复杂度分析方面。复杂度又分为时间复杂度和空间复杂度。
1.时间复杂度
时间复杂度实际就是函数,函数计算执行的基本操作次数 .
在进行时间复杂度分析时需注意:
1)时间复杂度强调的是函数执行的操作次数,这里的函数是指数学里面的函数,而不是C语法里的函数;
2)在实际中我们通常情况考量的是算法的最坏情况;
3)忽略掉常数;
4)关注运行时间的增长趋势,关注函数式中增长最快的表达式,忽略系数;
(比如:F(n)=10*n^3+50n+1000,其时间复杂度为O(n)=n^3)
5)递归算法的时间复杂度计算:递归总次数*每次递归次数.