如何计算算法的时间复杂度?

时间:2019-01-04 10:58:52

标签: algorithm time-complexity

我想知道代码的时间复杂度。我该如何计算?

{
    int q;
    int w;
    cout <<"please enter values" <<endl; 
    cin>>q;
    for(w = 0; w<q; w++)
    {
        int p; 
        int o;
        int sum = 0;
        cin>>p;
        for(o = 0; o < p; o++)
        {
            int x; 
            int y;
            int z;
            cin>>x ;
            cin >>y;
            cin>>z;
            sum = sum + (x*z);
        }
        cout<<sum<<endl;
    }
    _getch();
    return 0;
}

1 个答案:

答案 0 :(得分:0)

第一个for循环将运行q次,时间复杂度为 O(q)
第二个(内部)for循环将运行p次,因此,它的时间复杂度为 O(p),并且每次循环都会调用一次第一个循环,它们的复杂性成倍增加:

O(q)* O(p)= O(q * p)

通常,嵌套循环相乘,连续循环相加。