ID: 2753 Algorytmy Średnie

Źródło: Arkusze CKE

Jaka jest złożoność obliczeniowa poniższego algorytmu?
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
for (int k = 0; k < n; k++) {
array[i][j][k] = i + j + k;
}
}
}

Warianty odpowiedzi

  1. A

    O(n log n)

  2. B

    O(n²)

  3. C

    O(n³)

  4. D

    O(n)

Wyjaśnienie

Patrząc na ten kod, widzimy trzy pętle for zagnieżdżone jedna w drugiej.

Każda z tych pętli wykonuje się n razy. Najbardziej wewnętrzna operacja przypisania wartości wykona się więc n razy n razy n kroków.

W zapisie matematycznym daje to n do potęgi trzeciej wykonanych operacji.

Stąd złożoność obliczeniowa tego algorytmu wynosi O(n^3).

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — Algorytmy