KWALIFIKACJA INF2 + INF3 - CZERWIEC 2006

PYTANIE NR 24.
Jaki algorytm przedstawiono poniżej?
Ilustracja przedstawia fragment egzaminacyjnego pytania zawodowego dotyczącego algorytmu sortowania liczb.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Algorytm sortowania porządkuje wszystkie elementy tablicy tak, aby po zakończeniu były ułożone niemalejąco (od najmniejszego do największego). Odpowiedzi o "szukaniu" dotyczą tylko wyznaczenia pojedynczego minimum/maksimum, a nie pełnego uporządkowania całego zbioru.

Pełne wyjaśnienie:

Sortowanie rosnące oznacza, że po wykonaniu algorytmu cała sekwencja danych jest uporządkowana od wartości najmniejszej do największej (kolejność niemalejąca). Taki algorytm wykonuje serię porównań (często w pętlach) i ewentualnych przestawień elementów, aż do uzyskania poprawnej kolejności w całej tablicy/zbiorze.

Odpowiedź "Sortowania liczb w porządku od najmniejszego do największego." pasuje do algorytmu, którego efektem końcowym jest ułożenie danych w kolejności rosnącej. Kluczowe jest tu rozpoznanie rezultatu: nie chodzi o znalezienie jednej wartości, lecz o posortowanie wszystkich.

Pozostałe propozycje są błędne z następujących powodów:

  • "Szukania najmniejszego elementu w zbiorze." – opisuje algorytm, którego wynikiem jest pojedyncza informacja (minimum) albo jego pozycja. Nawet jeśli w trakcie sortowania szuka się minimum w podzbiorze (np. w sortowaniu przez wybór), to cel zadania jest inny: pełne uporządkowanie, a nie samo wskazanie najmniejszej liczby.
  • "Sortowania liczb w porządku od największego do najmniejszego." – to sortowanie malejące. Jest podobne mechanicznie (też porządkuje cały zbiór), ale ma odwrotny warunek końcowy, więc nie jest równoważne sortowaniu rosnącemu.
  • "Szukania największego elementu w zbiorze." – analogicznie do szukania minimum, to zadanie selekcji jednej wartości (maksimum), nie uporządkowania całej listy.

Wskazówka egzaminacyjna: jeśli w przedstawionym zapisie widzisz powtarzające się przejścia po danych i końcowy stan, w którym elementy są "ustawione" na swoich miejscach (np. rosnąco od początku tablicy), to jest to sortowanie. Jeśli algorytm kończy się tylko wartością/indeksem najlepszego elementu, to jest to wyszukiwanie min/max.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Sortowanie rosnące oznacza, że po zakończeniu działania algorytmu elementy są ułożone od najmniejszego do największego (kolejność niemalejąca). Wynik dotyczy całej tablicy lub listy, a nie pojedynczej wartości.
Sortowanie zmienia kolejność wszystkich elementów, aby były uporządkowane. Szukanie minimum zwraca tylko jeden element (najmniejszy) lub jego pozycję. To inny cel i zwykle mniej operacji niż pełne sortowanie.
W sortowaniu malejącym wynik ma odwrotną kolejność: od największego do najmniejszego. Nawet jeśli algorytm jest podobny (porównania i zamiany), to warunek końcowy jest inny, więc odpowiedź o kolejności rosnącej nie pasuje.
W sortowaniu zwykle widać wielokrotne przejścia po danych (pętle) i operacje przestawiania elementów, a po zakończeniu dane są uporządkowane. W wyszukiwaniu min/max wynik to jedna wartość/indeks, bez dążenia do pełnej kolejności.
Tak. W niektórych sortowaniach (np. przez wybór) w każdym kroku znajduje się minimum z nieposortowanej części i umieszcza na właściwej pozycji. Mimo użycia "szukania minimum", całościowym celem pozostaje posortowanie całej tablicy.
Najczęściej sortuje się listy rekordów: produkty w sklepie, użytkowników, zamówienia, wpisy bloga, wyniki wyszukiwania. Sortowanie bywa wykonywane w bazie danych, na serwerze lub w przeglądarce, zależnie od potrzeb.
Są algorytmy sortujące "w miejscu" (modyfikują tę samą tablicę) oraz takie, które tworzą nową strukturę z elementami w odpowiedniej kolejności. W zadaniach egzaminacyjnych ważniejsze jest rozpoznanie efektu: pełne uporządkowanie danych.
Częsty błąd to mylenie sortowania z pojedynczym wyszukiwaniem min/max oraz nieuwzględnianie stanu końcowego danych. Uczniowie patrzą na pojedynczą pętlę lub słowo "najmniejszy", zamiast ocenić, czy wynik dotyczy całej listy.
Nie zawsze. Czasem wystarczy rozpoznać, że algorytm prowadzi do ułożenia liczb rosnąco lub malejąco. Jeśli jednak odpowiedzi zawierają nazwy metod, wtedy potrzebna jest identyfikacja konkretnego sortowania po sposobie porównań i zamian.
Najprościej przygotować zestawy testów: dane losowe, już posortowane, posortowane odwrotnie, z duplikatami oraz skrajne wartości. Po sortowaniu sprawdza się, czy każdy kolejny element jest nie mniejszy od poprzedniego i czy nie zgubiono żadnych danych.
info

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

Specjaliści zwracają uwagę: "Algorytm sortowania porządkuje wszystkie elementy tablicy tak, aby po zakończeniu były ułożone niemalejąco (od najmniejszego do największego)."

Źródła:

  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, "Introduction to Algorithms", Third Edition, rozdziały o sortowaniu i selekcji, MIT Press, 2009
  • Robert Sedgewick, Kevin Wayne, "Algorithms", 4th Edition, części dotyczące sortowania (sorting) i analizy algorytmów, Addison-Wesley, 2011
  • Donald E. Knuth, "The Art of Computer Programming", Volume 3: "Sorting and Searching", sekcje wprowadzające do sortowań i wyszukiwania, Addison-Wesley

Materiały:

  • podstawy algorytmiki: sortowania i wyszukiwanie (skrypt szkolny / podręcznik do programowania)
  • ćwiczenia z czytania pseudokodu i schematów blokowych
  • zadania praktyczne: implementacja sortowania rosnącego i malejącego na tablicach

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego