R15YEsGC1T9gc
Ilustracja przedstawia dłoń osoby składającej puzzle.

I_P_R_W14_M13_Java Sortowanie przez wstawianie

Źródło: Delaney Van, domena publiczna.
Już wiesz
  • Jak działa metoda sortowania przez wstawianie.

  • Jak działa algorytm sortowania przez wstawianie dla konkretnego przykładu.

  • Jaka jest złożoność obliczeniowa algorytmu sortowania przez wstawianie.

  • Ile porównań  wykonywanych jest w przypadku pesymistycznym, a ile w optymistycznym.

Teraz czas, aby sprawdzić wiedzę i umiejętności w praktyce.

1
Ćwiczenie 1

Uzupełnij algorytm sortowania przez wstawianie, tak aby poprawnie sortował ciąg liczb całkowitych podanych w tablicy zawartej w programie w kolejności niemalejącej. Wypisz posortowaną tablicę, oddzielając jej elementy znakiem spacji.

Swoje rozwiązanie przetestuj na tablicy tab = {27, 26, 4, 5, 24, 23, 15, 12, 1, 0, 9, 84}.

Specyfikacja problemu:

Dane:

  • n – liczba naturalna

  • tab – tablica n liczb całkowitych

Wynik:

  • tab – posortowana niemalejąco tablica n liczb całkowitych

RCgx4MWgjwJYm
Wysłuchaj nagrania abstraktu, ułóż do niego pytania i zadaj je koledze.
1
Ćwiczenie 2

Pewien przedsiębiorca postanowił udostępnić usługę sortowania przez wstawianie na zasadzie komercyjnej. Cenę za posortowanie tablicy rosnąco ustalił w następujący sposób: jest to suma połowy liczby porównań elementów tablicy (kontrola granic tablicy nie jest liczona do porównań) i opłaty stałej 2,50 zł. Napisz program, który wypisze na standardowe wejście cenę posortowania podanej tablicy.

Uzupełnij poniższy algorytm sortowania przez wstawianie, aby sortował rosnąco tablicę n-elementową wypełnioną liczbami całkowitymi. Swoje rozwiązanie przetestuj na tablicy dane = {14, 32, 35, 45, 12, 8, 17, 9}.

Przykład 1

Dla tablicy, w której znajdują się liczby 14, 32, 35, 7 program wykona 5 porównań elementów tablicy.

Specyfikacja problemu:

Dane:

  • n – liczba naturalna

  • dane – tablica n liczb całkowitych

Wynik:

  • cena – liczba całkowita

ReuJgFl2Fw81E
Wysłuchaj nagrania abstraktu i zastanów się, czego jeszcze chciałbyś się dowiedzieć w związku z tematem lekcji.