KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2010

PYTANIE NR 20.
Zamieszczona lista kroków przedstawia algorytm sortowania
Ilustracja przedstawia fragment algorytmu sortowania bąbelkowego, który jest częścią egzaminu zawodowego dla technika
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Sortowanie bąbelkowe rozpoznaje się po wielokrotnych przejściach po liście i porównywaniu sąsiednich elementów. Gdy para jest w złej kolejności, następuje zamiana miejsc. Po każdym przebiegu największy element "wypływa" na koniec, aż do braku zamian.

Pełne wyjaśnienie:

Algorytm sortowania bąbelkowego (bubble sort) działa poprzez powtarzanie przebiegów po tablicy i wykonywanie porównań sąsiednich elementów. Jeżeli dwa kolejne elementy są w niewłaściwej kolejności, algorytm wykonuje ich zamianę. Skutkiem jest to, że po jednym pełnym przebiegu największy (dla sortowania rosnącego) element znajduje się na końcu – stąd intuicyjne "wypływanie bąbelka". Przebiegi powtarza się, aż w całym przejściu nie wystąpi żadna zamiana.

Odpowiedź "bąbelkowego" jest więc właściwa, gdy w przedstawionych krokach widać:

  • porównywanie elementów parami (zwykle indeks i oraz i+1),
  • zamiany miejsc tylko między sąsiadami,
  • wiele powtórzeń przebiegu, prowadzących do stopniowego porządkowania końców tablicy.

Pozostałe opcje nie pasują do takiego opisu:

  • "przez wybór" polega na wyszukaniu minimum/maksimum w nieposortowanej części i jednorazowej zamianie z elementem na granicy części posortowanej. Typową cechą jest wybór skrajnego elementu, a nie ciągłe zamiany sąsiadów.
  • "szybkiego" (quicksort) opiera się na podziale względem elementu rozdzielającego (partycjonowaniu) i rekurencyjnym sortowaniu podtablic. Jeśli w krokach nie ma wyraźnego dzielenia zbioru na mniejsze części, to nie jest to szybkie sortowanie.
  • "przez wstawienie" buduje wynik przez wstawianie kolejnych elementów w odpowiednie miejsce w już posortowanej części (często z przesuwaniem elementów). Kluczowe jest "wstawianie" i przesuwanie, a nie iteracyjne zamiany sąsiadów na całej długości tablicy.

Wskazówka egzaminacyjna: gdy widzisz w opisie zamiany sąsiadów oraz wielokrotne przejścia "dopóki są zamiany", najczęściej chodzi o sortowanie bąbelkowe.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Sortowanie bąbelkowe to algorytm, który wielokrotnie przechodzi po tablicy i porównuje sąsiednie elementy. Jeśli są w złej kolejności, zamienia je miejscami. Po każdym przebiegu największy element trafia na koniec, aż do przebiegu bez zamian.
Szukaj cech: porównania elementów i oraz i+1, częste zamiany miejsc tylko między sąsiadami oraz powtarzanie przebiegów "dopóki były zamiany". To odróżnia je od metod, które wybierają minimum lub dzielą tablicę na części.
W każdej parze sąsiadów większy element jest "przepychany" w prawo (dla sortowania rosnącego) poprzez kolejne zamiany. Po pełnym przejściu po tablicy największa wartość nie może już przesunąć się dalej, więc ląduje na ostatniej pozycji.
Sortowanie bąbelkowe wykonuje wiele lokalnych zamian sąsiednich elementów w kolejnych przebiegach. Sortowanie przez wybór w każdym kroku znajduje minimum/maksimum w nieposortowanej części i wykonuje zwykle jedną zamianę z elementem na granicy części posortowanej.
W bąbelkowym kluczowe są zamiany sąsiadów w całej tablicy i powtarzane przebiegi. W sortowaniu przez wstawienie buduje się rosnąco posortowany fragment, a kolejny element jest wstawiany w odpowiednie miejsce (często przez przesuwanie elementów w prawo).
W typowej wersji tak, ponieważ elementy równe nie muszą być zamieniane miejscami (zamiany zachodzą tylko, gdy kolejność jest błędna). Stabilność zależy jednak od implementacji: jeśli zamieniasz także elementy równe, możesz stabilność utracić.
Najczęściej w celach dydaktycznych oraz w bardzo prostych przypadkach, gdy danych jest mało i liczy się łatwość implementacji. W aplikacjach webowych zwykle korzysta się z wbudowanych sortowań, a bąbelkowe służy do zrozumienia mechanizmu porównań i zamian.
Oba tematy dotyczą sortowania, ale mechanizm jest inny. Uczniowie czasem wybierają "szybkie" z przyzwyczajenia, bo kojarzą je jako popularne. Rozstrzygające jest to, czy w krokach występuje podział względem elementu rozdzielającego (partycjonowanie).
Najczęstsze błędy to ignorowanie charakterystycznych cech: w bąbelkowym są to zamiany sąsiadów; w przez wybór — wyszukanie minimum; w przez wstawienie — wstawianie do posortowanego fragmentu; w szybkim — podział na podtablice. Pomaga wypisanie "co się dzieje w jednym kroku".
Ćwicz na małych tablicach (np. 5–7 elementów) i ręcznie zapisuj kolejne stany po każdym kroku. Naucz się rozpoznawać: zamiany sąsiadów (bąbelkowe), wybór minimum (wybór), wstawianie do fragmentu (wstawienie), podział względem pivota (szybkie).
info

To pytanie poprawnie rozwiązuje 55% zdających egzamin. średnie

W praktyce zawodowej kluczowe jest to, że sortowanie bąbelkowe rozpoznaje się po wielokrotnych przejściach po liście i porównywaniu sąsiednich elementów.

Źródła:

  • Cormen, Leiserson, Rivest, Stein, "Wprowadzenie do algorytmów", rozdział o sortowaniu przez porównania (bubble/selection/insertion), wydanie polskie (bibliografia podręcznikowa)
  • Wikipedia (pl): "Sortowanie bąbelkowe" https://pl.wikipedia.org/wiki/Sortowanie_b%C4%85belkowe - dostęp 2026-02-27
  • Wikipedia (pl): "Sortowanie przez wybór" https://pl.wikipedia.org/wiki/Sortowanie_przez_wyb%C3%B3r - dostęp 2026-02-27

Materiały:

  • Podręczniki i kursy z podstaw algorytmiki (sortowania porównaniowe)
  • Dokumentacja/lekcje dotyczące złożoności obliczeniowej (O(n), O(n log n))
  • Ćwiczenia: implementacja i śledzenie kroków sortowań na małych tablicach

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego