KWALIFIKACJA INF2 + INF3 - CZERWIEC 2011

PYTANIE NR 24.
Algorytm przedstawiony w postaci schematu blokowego, to algorytm
Ilustracja przedstawia schemat blokowy algorytmu sortowania bąbelkowego, co jest zgodne z podaną odpowiedzią do pytania
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Sortowanie bąbelkowe rozpoznaje się po wielokrotnym przechodzeniu po tablicy, porównywaniu sąsiednich elementów i ich ewentualnej zamianie, aż do uzyskania porządku. Sortowanie przez wstawianie działa przez "wstawianie" elementu w już uporządkowaną część, a wyszukiwanie maksimum/minimum jedynie znajduje jeden element ekstremalny, nie sortuje całej tablicy.

Pełne wyjaśnienie:

Algorytm sortowania bąbelkowego (bubble sort) polega na wykonywaniu kolejnych przebiegów po tablicy i porównywaniu par sąsiednich elementów. Jeśli są w złej kolejności, następuje zamiana miejsc. Po jednym pełnym przebiegu największy (dla sortowania rosnącego) element "wypływa" na koniec, a operacja powtarza się dla coraz krótszego fragmentu tablicy.

Na schemacie blokowym typowe są więc elementy:

  • pętla zewnętrzna realizująca kolejne przebiegi,
  • pętla wewnętrzna porównująca a[i] z a[i+1],
  • warunek "czy a[i] > a[i+1]?" (dla porządku rosnącego),
  • blok zamiany (swap) wykonywany tylko, gdy warunek jest spełniony.

Dlaczego pozostałe odpowiedzi nie pasują:

  • Porządkowanie przez wstawianie działa inaczej: bierze kolejny element i wstawia go w odpowiednie miejsce w już uporządkowanej części, zwykle przesuwając elementy w lewo/prawo. W schemacie dominują kroki "przesuń" i znalezienie pozycji wstawienia, a nie powtarzane zamiany sąsiadów na całej długości.
  • Wyszukiwanie maksimum lub minimum prowadzi do znalezienia jednego elementu ekstremalnego (największego/najmniejszego). W takim algorytmie zwykle aktualizuje się zmienną przechowującą bieżące maksimum/minimum i indeks, ale nie wykonuje się serii zamian porządkujących wszystkie elementy.

Wskazówka egzaminacyjna: gdy widzisz na schemacie porównanie sąsiadów i ewentualny swap, myśl o bąbelkowym; gdy widzisz "wstawienie" elementu do uporządkowanej części i przesuwanie wielu elementów, myśl o wstawianiu; gdy jest tylko aktualizacja jednego kandydata na ekstremum, to wyszukiwanie maksimum/minimum.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Sortowanie bąbelkowe to prosty algorytm, który wielokrotnie przechodzi po tablicy, porównuje sąsiednie elementy i zamienia je miejscami, jeśli są w złej kolejności. Po każdym przebiegu jeden element "wędruje" na właściwy koniec tablicy.
Szukaj pętli wykonujących kolejne przebiegi oraz warunku porównania elementów a[i] i a[i+1]. Charakterystyczny jest blok "zamień miejscami" uruchamiany tylko, gdy para sąsiadów jest w złej kolejności.
Porównywanie sąsiadów powoduje, że elementy stopniowo przesuwają się o jedno miejsce w stronę poprawnej pozycji. Dzięki wielokrotnym przebiegom największe (lub najmniejsze) wartości krok po kroku trafiają na właściwy koniec.
Bąbelkowe opiera się na wielu zamianach sąsiednich elementów w kolejnych przebiegach. Wstawianie bierze kolejny element i umieszcza go w odpowiednim miejscu w już uporządkowanej części, zwykle przesuwając kilka elementów bez serii zamian sąsiadów na całej tablicy.
Nie. Wyszukiwanie maksimum znajduje tylko jeden element (największy) i zwykle zwraca jego wartość lub indeks. Sortowanie ustawia wszystkie elementy w kolejności. W sortowaniu często występują zamiany lub wstawianie, a nie tylko aktualizacja jednego kandydata.
Najczęstsze pomyłki to: uznanie, że każda "pętla w pętli" oznacza sortowanie bąbelkowe, ignorowanie faktu, czy porównywane są sąsiednie elementy, oraz mylenie sortowania z wyszukiwaniem minimum/maksimum, bo oba używają porównań.
Zamiana (swap) to operacja, w której dwa elementy zmieniają się miejscami, zwykle z użyciem zmiennej pomocniczej. Na schemacie blokowym bywa pokazana jako osobny blok: "temp = a[i]", "a[i] = a[i+1]", "a[i+1] = temp".
Zwykle tylko dla bardzo małych danych lub w celach edukacyjnych (np. demonstracja działania sortowania w JS/PHP). W aplikacjach webowych dla większych zbiorów korzysta się z wbudowanych, szybszych metod sortowania lub algorytmów o lepszej złożoności.
W wyszukiwaniu minimum typowo jest jedna pętla po elementach oraz aktualizacja zmiennej "min" i ewentualnie "indeksMin", bez bloków zamiany elementów tablicy. Wynikiem jest pojedyncza wartość/pozycja, a nie uporządkowana tablica.
Ćwicz śledzenie algorytmu "krok po kroku" na krótkich tablicach oraz rozpoznawanie wzorców: porównanie sąsiadów + zamiana (bąbelkowe), wstawianie do uporządkowanej części (wstawianie), aktualizacja kandydata (min/max). Pomaga też przepisanie schematu na pseudokod.
info

Statystycznie 49% uczniów zna prawidłową odpowiedź. trudne

Eksperci podkreślają: "Sortowanie bąbelkowe rozpoznaje się po wielokrotnym przechodzeniu po tablicy, porównywaniu sąsiednich elementów i ich ewentualnej zamianie, aż do uzyskania porządku."

Źródła:

  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, "Introduction to Algorithms" (wyd. 3), rozdział o sortowaniach prostych (Bubble sort / Insertion sort) — źródło książkowe
  • Robert Sedgewick, Kevin Wayne, "Algorithms" (wyd. 4), sekcje dotyczące sortowania przez wstawianie i podstaw sortowania — źródło książkowe
  • Wikipedia: "Sortowanie bąbelkowe" — https://pl.wikipedia.org/wiki/Sortowanie_b%C4%85belkowe (dostęp: 2026-02-18)

Materiały:

  • Podręczniki akademickie do algorytmów i struktur danych (rozdziały o sortowaniach prostych)
  • Materiały kursowe z podstaw programowania: schematy blokowe, pętle i instrukcje warunkowe
  • Ćwiczenia: ręczne wykonywanie kolejnych kroków sortowania bąbelkowego na krótkich tablicach

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego