Przejdź do treści głównej
INF.04Pytanie #769 z 856zlozonosc-obliczeniowa-i-efektywnosc

Jaka jest złożoność obliczeniowa (w notacji Wielkiego O) przedstawionej metody processData w zależności od rozmiaru tablicy n (gdzie n = array.length)?

Opcje odpowiedzi:
A
O(n)
B
O(n * log n)
C
O(n²)
Prawidłowa
D
O(2n)
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: C

Uzasadnienie i szersze wyjaśnienie:

Przy określaniu złożoności obliczeniowej algorytmu, który składa się z kilku następujących po sobie części, bierzemy pod uwagę najwolniej rosnący (dominujący) składnik. Przeanalizujmy obie części metody:

  • Część 1: Jest to pojedyncza pętla for, która przechodzi przez wszystkie elementy tablicy raz. Liczba operacji jest wprost proporcjonalna do n. Zatem złożoność tej części to O(n).

  • Część 2: Są to dwie zagnieżdżone pętle for. Pętla zewnętrzna wykonuje się n razy. Dla każdej z tych n iteracji, pętla wewnętrzna również wykonuje się n razy. Całkowita liczba operacji jest więc rzędu n * n, co daje złożoność O(n²).

Kiedy łączymy obie części (O(n) + O(n²)), dominującym składnikiem, który rośnie znacznie szybciej wraz ze wzrostem n, jest O(n²). Dlatego cała metoda ma złożoność obliczeniową O(n²).

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • A. O(n): Ta odpowiedź byłaby poprawna, gdyby w kodzie znajdowała się tylko pierwsza pętla. Druga, zagnieżdżona pętla, rośnie znacznie szybciej i dominuje złożoność.
  • B. O(n * log n): Jest to typowa złożoność dla wydajnych algorytmów sortowania (np. Merge Sort) lub algorytmów typu „dziel i zwyciężaj”. Nie pasuje do struktury zagnieżdżonych pętli w tym kodzie.
  • D. O(2n): W notacji Wielkiego O stałe (takie jak 2) są pomijane, ponieważ nie mają one wpływu na tempo wzrostu funkcji dla dużych n. O(2n) upraszcza się do O(n).

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Zlozonosc obliczeniowa i efektywnosc”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 4 pytań z tego działu.