一,时间复杂度
时间复杂度为一个代码执行一次内所遍历的次数函数,记为T(n)=O(f(n))。将这种记法称为大O记法。同一个功能实现所用不同代码,T(n)也不同,当n相同时 ,T(n)越小,算法越优。
1,O(1)
如同y=b,当x改变时b不变。因此我们将y不与变量x改变而改变的值称为O(b)。根据大O记法,因为b为常量,因此将O(b)记为O(1)。
2,O(n)
如同y=nx+b,y随x的变化而变化,因此我们将y记为O(kn+b)。根据大O记法,只保留最高项,且系数为1,得O(n)。
3,O(n^2)
如同y=an^2+nx+b,y随xd变化而变化,因此我们将y记为O(an^2+nx+b)。根据大O记法,只保留最高项,且系数为1,得O(n^2)。
4,O(log n)
如同,我们得到的时间复杂度为O(log 以2为底n的对数),由大O记法简化得O(log n)。
二,空间复杂度
当代码不涉及内存开辟时,空间复杂度为O(1)。
当代码涉及内存开辟时,空间复杂度为O(n)。