Polecenie 1
R15S14U1OVROE
Symulacja interaktywna ukazuje proces sortowania losowych liczb od 0zera do trzystu w porządku rosnącym. Wyjaśnij, dlaczego liczba porównań oraz przesunięć w przypadku optymistycznym i pesymistycznym wygląda inaczej. (Uzupełnij).
1
RTU1RKUNAHCJB
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Symulacja przedstawia pasek przewijania podpisany jako Liczba elementów.

Pasek ustawiono na n=5.

Obok paska znajdują się przyciski Reset oraz Kolejny krok.

W prawym górnym rogu znajdują się przyciski: Załaduj przypadek optymistyczny oraz Załaduj przypadek pesymistyczny.

Poniżej znajduje się pięć słupków.

Przykład 1:

Po kliknięciu przycisku Załaduj przypadek optymistyczny, poniżej pojawiło się pięć słupków o wartościach: 1, 2, 3, 4, 5.

Słupek 2 zaznaczony jest czerwonym kolorem.

Po kliknięciu przycisku kolejny krok, słupek 3 zaznaczono kolorem czerwonym.

Po kliknięciu przycisku kolejny krok, słupek 4 zaznaczono kolorem czerwonym.

Po kliknięciu przycisku kolejny krok, słupek 5 zaznaczono kolorem czerwonym.

Po kliknięciu przycisku kolejny krok, czerwone oznaczenie zniknęło.

Żaden  ze słupków nie zmienił pozycji.

Liczba porównań: 4.

Liczba przesunięć: 0.

Przykład 1:

Po kliknięciu przycisku Załaduj przypadek pesymistyczny, poniżej pojawiło się pięć słupków o wartościach: 100, 99, 98, 97, 96.

Słupek 99 zaznaczony jest czerwonym kolorem.

Po kliknięciu przycisku kolejny krok, słupek 98 zaznaczono kolorem czerwonym.

Kolejność słupków: 99, 100, 98, 97, 96.

Po kliknięciu przycisku kolejny krok, słupek 97 zaznaczono kolorem czerwonym.

Kolejność słupków: 98, 99, 100, 97, 96.

Po kliknięciu przycisku kolejny krok, słupek 96 zaznaczono kolorem czerwonym.

Kolejność słupków: 97, 98, 99, 100, 96.

Po kliknięciu przycisku kolejny krok, czerwone oznaczenie zniknęło.

Kolejność słupków: 96, 97, 98, 99, 100.

Liczba porównań: 14.

Liczba przesunięć: 10.

Złożoność czasowa

Algorytm sortowania przez wstawianie ma następujące złożoności:

  1. Przypadek pesymistycznyprzypadek pesymistycznyPrzypadek pesymistyczny – jest to przypadek, gdy dane wejściowe są posortowane w odwrotnej kolejności niż mamy je posortować.

O(n2)

Wynika to stąd, że w trakcie sortowania tablicy warunek tab[j]>pom jest sprawdzany razy w każdym obiegu pętli, ponieważ liczby są ułożone w odwrotnej kolejności niż mamy zamiar je posortować. Złożoność obliczeniowa w takim wypadku jest kwadratowa.

  1. Przypadek typowy – przypadek, w którym dane występują w losowym porządku.

O(n2)

Wynika to stąd, iż jeśli założymy, że wszystkie wartości tablicy występują z takim samym prawdopodobieństwem, to oczekiwana liczba elementów, które są mniejsze od danego klucza, wynosi .

  1. Przypadek optymistyczny – przypadek, gdy dane są już posortowane.

O(n)

Wynika to stąd, że pętla wewnętrzna nie jest wykonywana ani razu, gdyż warunek tab[j]>pom nigdy nie jest spełniony, ponieważ każda kolejna liczba jest większa od poprzedniej. Zatem dla każdej liczby warunki są sprawdzane jednokrotnie. Złożoność obliczeniowa w takim przypadku jest liniowa.

przypadek pesymistyczny
przypadek pesymistyczny

przypadek, w którym podczas sortowania zostanie wykonana największa możliwa liczba operacji; lista uporządkowana w kolejności odwrotnej od oczekiwanej – czyli dla sortowania w porządku rosnącym będzie to np. lista [5, 4, 3, 2, 1]