ID: 2676 Algorytmy Łatwe

Źródło: Arkusze CKE

Programista pragnie wybrać algorytm, który najszybciej przetwarza dane w jego aplikacji. Na podstawie złożoności obliczeniowej przedstawionej w tabeli, należy wskazać algorytm numer
Algorytm 1O(n²)Algorytm 2O(n!)Algorytm 3O(n³)Algorytm 4O(n)Algorytm 5O(n²)

Warianty odpowiedzi

  1. A

    2 lub 3

  2. B

    1 lub 5

  3. C

    4

  4. D

    3

Wyjaśnienie

Notacja dużego O opisuje, jak rośnie czas wykonania algorytmu wraz ze wzrostem liczby danych wejściowych (n). Im wolniej rośnie ta funkcja, tym algorytm jest szybszy.

Uporządkujmy podane złożoności od najbardziej obciążającej do najwydajniejszej:

  • O(n!) silnia rośnie gigantycznie szybko, algorytm zapycha się nawet przy małych danych,
  • O(n³) oraz O(n²) to złożoności wielomianowe, wciąż wolne dla dużych zbiorów,
  • O(n) to złożoność liniowa.

Złożoność O(n) oznacza, że przy dziesięciokrotnym wzroście liczby danych, czas wykonania wzrośnie również dziesięciokrotnie. To zdecydowanie najszybszy wynik w tym zestawieniu, dlatego właściwym wyborem jest Algorytm 4.

Sprawdź się w praktyce

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

Podobne pytania — Algorytmy