Programista chce dobrać najszybciej działający algorytm przetwarzania danych w swojej aplikacji. Na podstawie przedstawionej w tabeli złożoności obliczeniowej, należy wybrać algorytm numer
Programista chce dobrać najszybciej działający algorytm przetwarzania danych w swojej aplikacji. Na podstawie przedstawionej w tabeli złożoności obliczeniowej, należy wybrać algorytm numer
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: C
Uzasadnienie i szersze wyjaśnienie:
Złożoność obliczeniowa (w notacji Wielkiego O) opisuje, jak czas wykonania algorytmu rośnie wraz ze wzrostem ilości danych (n). „Najszybszy” algorytm to ten, którego funkcja złożoności rośnie najwolniej.
Porównajmy podane złożoności od najwolniejszej do najszybszej:
- O(n!) (złożoność silniana) - Algorytm 2. Jest to najwolniejsza możliwa złożoność, rosnąca astronomicznie szybko. Praktycznie nieużyteczna dla
nwiększego niż kilkanaście. - O(n³) (złożoność sześcienna) - Algorytm 3. Rośnie bardzo szybko, znacznie wolniej niż silnia, ale wciąż jest nieefektywna dla dużych zbiorów danych.
- O(n²) (złożoność kwadratowa) - Algorytm 1 i 5. Typowa dla prostych algorytmów sortowania, znacznie lepsza niż O(n³), ale wciąż wolna dla dużych
n. - O(n) (złożoność liniowa) - Algorytm 4. Czas wykonania rośnie proporcjonalnie do liczby elementów. Jest to bardzo wydajna i pożądana złożoność.
Z tego porównania jasno wynika, że Algorytm 4 ze złożonością O(n) jest zdecydowanie najszybszy.
Dlaczego pozostałe odpowiedzi są nieprawidłowe?
- A i B: Algorytmy 2 i 3 mają złożoność silnianą i sześcienną, co czyni je najwolniejszymi z całego zestawienia.
- D: Algorytmy 1 i 5 mają złożoność kwadratową, która jest znacznie wolniejsza niż liniowa złożoność algorytmu 4.
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.
Pojęcia z tego pytania
- Złożoność obliczeniowa (Big O Notation)Formalna miara efektywności algorytmu określająca zapotrzebowanie na czas procesora lub pamięć w funkcji rozmiaru danych wejściowych (n).
- Pojęcie i Cechy AlgorytmuUporządkowany, skończony i jednoznaczny ciąg instrukcji i kroków postępowania prowadzący do rozwiązania określonego problemu obliczeniowego dla poprawnych danych wejściowych.
- Funkcje, Metody i Przekazywanie ParametrówWydzielone, nazwane bloki kodu realizujące określone zadanie, przyjmujące parametry wejściowe i opcjonalnie zwracające wartość wyniku za pomocą instrukcji return.
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.
- #240
Dla podanego algorytmu złożoność obliczeniowa jest równa
- #597
Algorytm polega na dwukrotnym wykonaniu prostych operacji na każdym elemencie tablicy. Złożoność obliczeniowa takiego problemu to:
- #769
Jaka jest złożoność obliczeniowa (w notacji Wielkiego O) przedstawionej metody
processDataw zależności od rozmiaru tablicyn(gdzien = array.length)?