Strategia budowania algorytmu poprzez podział na dwa lub więcej mniejszych podproblemów tak długo, aż fragmentu staną się proste do bezpośredniego rozwiązania jest metodą:
Strategia budowania algorytmu poprzez podział na dwa lub więcej mniejszych podproblemów tak długo, aż fragmentu staną się proste do bezpośredniego rozwiązania jest metodą:
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: C
Uzasadnienie i szersze wyjaśnienie:
Opisana w pytaniu strategia to klasyczna definicja metody „dziel i zwyciężaj” (divide and conquer). Jest to jeden z najważniejszych paradygmatów projektowania algorytmów, który składa się z trzech kroków:
- Dziel (Divide): Problem jest dzielony na mniejsze, niezależne podproblemy tego samego typu.
- Zwyciężaj (Conquer): Podproblemy są rozwiązywane rekurencyjnie. Jeśli są wystarczająco małe, rozwiązuje się je bezpośrednio.
- Połącz (Combine): Rozwiązania poszczególnych podproblemów są łączone w jedno rozwiązanie pierwotnego, dużego problemu.
Przykładami algorytmów wykorzystujących tę strategię są sortowanie przez scalanie (Merge Sort) i sortowanie szybkie (Quick Sort).
Dlaczego pozostałe odpowiedzi są nieprawidłowe?
- A. heurystyczną: Metoda heurystyczna to podejście, które ma na celu znalezienie dobrego, praktycznego rozwiązania w rozsądnym czasie, ale nie gwarantuje, że będzie ono optymalne. Nie polega ona na systematycznym podziale problemu.
- B. komiwojażera: Problem komiwojażera to konkretny, znany problem algorytmiczny, a nie ogólna metoda projektowania algorytmów. Celem jest znalezienie najkrótszej trasy odwiedzającej zbiór miast.
- D. najkrótszej ścieżki: Podobnie jak problem komiwojażera, jest to nazwa konkretnego problemu (np. rozwiązywanego algorytmem Dijkstry), a nie ogólnej strategii tworzenia algorytmów.
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
- Sortowanie przez scalanie (Merge Sort)Stabilny algorytm sortowania dzielący tablicę na połowy, sortujący je rekurencyjnie i scalający dwa posortowane ciągi w czasie O(n log n).
- Metody Heurystyczne i Problem Komiwojażera (TSP)Praktyczne podejście algorytmiczne znajdujące wystarczająco dobre (suboptymalne) rozwiązanie w akceptowalnym czasie dla problemów trudnych obliczeniowo (np. problem komiwojażera TSP).
- Algorytmy Najkrótszej Ścieżki w Grafie (Dijkstra, Bellman-Ford)Algorytmy wyznaczające trasę o najmniejszej sumarycznej wadze krawędzi między wierzchołkami w grafie ważonym (np. algorytm Dijkstry dla wag nieujemnych).
Podobne pytania z działu „Algorytmy sortowania i wyszukiwania”
Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 23 pytań z tego działu.
- #93
Aby zaprojektować zestaw danych do zainicjowania algorytmu sortowania bąbelkowego tablicy, należy zastosować przynajmniej typy:
- #103
Metoda poszukiwań w tablicach posortowanych, która polega na podzieleniu tablicy na kilka bloków i wyszukaniu liniowym tylko w tym bloku, w którym docelowy element może się znajdować, w języku angielskim nosi nazwę
- #129
Który z wymienionych algorytmów działających na tablicy jednowymiarowej ma złożoność obliczeniową O(n2)?
- #144
Z tabeli przedstawiającej złożoność obliczeniową algorytmów sortowania na dowolnym, dużym, zbiorze wejściowym (ponad 100 elementów) wynika, że najszybszą metodą jest algorytm sortowania:
- #156
Wskaż niestabilny algorytm sortowania