Как я могу рассчитать временную сложность моего алгоритма? - PullRequest
0 голосов
/ 04 января 2019

Я хочу знать временную сложность моего кода. Как я могу рассчитать это?

{
    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 голосов
/ 04 января 2019

Первый цикл for будет выполняться q раз, что составляет временную сложность O (q) .
Второй (внутренний) цикл for будет выполняться p раз, таким образом, он имеет временную сложность O (p) и, поскольку он вызывается один раз для каждого запуска первого цикла, их сложности умножьте так:

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

Как правило, вложенные циклы умножаются и последовательные циклы добавляются.

...