龙空技术网

两分钟彻底搞明白算法时间复杂度

furuhata 169

前言:

此刻小伙伴们对“算法的时间复杂度指”都比较重视,姐妹们都需要了解一些“算法的时间复杂度指”的相关内容。那么小编在网摘上汇集了一些有关“算法的时间复杂度指””的相关资讯,希望小伙伴们能喜欢,你们快快来了解一下吧!

时间复杂度定义

算法需要执行的运算次数用输入大小n的函数表示,即T(n).

存在常数和函数f(N),使得当N>=c时T(N)<=f(N),表示T(n)=O(f(n))。

算法的时间复杂度,用来度量算法的运行时间,记作:T(n) = O(f(n))。它表示随着输入

大小n的增大,算法执行需要的时间的增长速度可以用f(n)来描述。

大O推导法

如果一个算法的执行次数是T(n),那么只保留最高次项,同时忽略最高项的系数后得到函数f(n),此时算法的时间复杂度就是O(f(n))。

基本策略

从内向外分析,从最深层开始分析;如果遇到函数调用,要深入函数进行分析。

四法则循环时间复杂度=循环次数m * 循环体时间复杂度n,得到O(m*n)多层循环,由里向外,O(n*a*b*c...)顺序执行的语句或者算法,时间复杂度等于其中最大的时间复杂度。条件判断语句,时间复杂度为最大的路径的时间复杂度。

注意:常用的时间复杂度按照耗费的时间从小到大依次是:

O(1)<O(logn)<O(n)<O(nlogn)<O(n²)<O(n³)<O(2ⁿ)<O(n!)

标签: #算法的时间复杂度指 #算法常见的时间复杂度 #算法的时间复杂度是指什么如何表示 #算法a比算法b快时间复杂度哪个快 #算法时间复杂度分析