Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 该算法的时间复杂度是多少,如何计算? #包括“bits/stdc++.h” 使用名称空间std; int main() { int n; cin>>n; 对于(int i=1;i_String_Algorithm_C++11_Data Structures_Time Complexity - Fatal编程技术网

String 该算法的时间复杂度是多少,如何计算? #包括“bits/stdc++.h” 使用名称空间std; int main() { int n; cin>>n; 对于(int i=1;i

String 该算法的时间复杂度是多少,如何计算? #包括“bits/stdc++.h” 使用名称空间std; int main() { int n; cin>>n; 对于(int i=1;i,string,algorithm,c++11,data-structures,time-complexity,String,Algorithm,C++11,Data Structures,Time Complexity,由于j循环独立于其他指数,我们可以将其因子化,并在最后简单地相乘。j的值在循环的每次迭代后呈指数增长,这意味着所需的循环数为log3(n/2)。对于这个简单的循环形式,有无数的证明,所以我不在这里推导它 现在,对于带有i和k的两个循环: 停止条件k*k您从哪里获得log3的?它将是O(n^2.5)试图从数值测试中找到时间复杂度关系,特别是在测试数量如此之少的情况下,就像试图用锤子建造纽约市一样。任何合理的工作量都不会有任何结果。数值测试是在你通过代数推导出解之后进行的。 #include "b

由于
j
循环独立于其他指数,我们可以将其因子化,并在最后简单地相乘。
j
的值在循环的每次迭代后呈指数增长,这意味着所需的循环数为
log3(n/2)
。对于这个简单的循环形式,有无数的证明,所以我不在这里推导它

现在,对于带有
i
k
的两个循环:


  • 停止条件
    k*k您从哪里获得
    log3
    的?它将是
    O(n^2.5)
    试图从数值测试中找到时间复杂度关系,特别是在测试数量如此之少的情况下,就像试图用锤子建造纽约市一样。任何合理的工作量都不会有任何结果。数值测试是在你通过代数推导出解之后进行的。
    #include "bits/stdc++.h"
    using namespace std;
    
    int main()
    {
        int n;
        cin>>n;
        for(int i=1; i<=n; i=i+2){
             for(int j=1; j<=n/2; j=j*3){
                 for(int k=i; k*k<=n; k=k+1){
                      cout<<"YES"<<endl;
                 }
             }        
        }
        return 0;
    }
    
    T = function(n) {
        var m = 0;
        for (var i = 1; i <= n; i += 2)
           for (var j = 1; j <= n / 2; j *= 3)
              for (var k = i; k * k <= n; k++)
                 m++;
        return m;
    }