Strefa wyzwań
Jak działa metoda sortowania przez wstawianie.
W jaki sposób działa algorytm sortowania przez wstawianie i umiesz go przeanalizować dla konkretnego przykładu.
Jak zaimplementować algorytm sortowania przez wstawianie w języku Python.
Jak wyznaczać złożoność obliczeniową algorytmu sortowania przez wstawianie.
Teraz czas sprawdzić swoją wiedzę i umiejętności w praktyce.
Zapoznaj się z poniższym pseudokodem. Wskaż, ile razy zostaną wykonane linie 5. i 7. dla tablicy [10, 7, 0, 1, 12, 8].
Specyfikacja:
Dane:
n– liczba elementów do posortowania; liczba naturalnatab–n-elementowa tablica liczb do posortowania
Wynik:
tab– posortowana niemalejąco tablicanliczb
Używając algorytmu sortowania przez wstawianie, napisz program sortujący wyrazy znajdujące się w liście napisy w porządku odwrotnym do alfabetycznego. Swój program przetestuj dla listy:
Specyfikacja problemu:
Dane:
napisy– lista ciągów znaków
Wynik:
Program na standardowe wyjście wypisuje posortowaną w kolejności odwrotnej do alfabetycznej listę ciągów znaków.
Pewien przedsiębiorca postanowił udostępniać usługę sortowania przez wstawianie na zasadzie komercyjnej. Cenę za posortowanie listy niemalejąco ustalił w następujący sposób: jest to suma liczby przesunięć i opłaty stałej 2,50 zł. Napisz funkcję, która zwróci cenę posortowania podanej listy. Swój program przetestuj dla przygotowanych list testowych:
Specyfikacja problemu:
Dane:
dane– lista liczb naturalnych do posortowanian– liczba naturalna; liczba elementów tablicydane
Wynik:
cena_sortowania– wyliczona cena dla zadanej listy liczb
Napisz wersję algorytmu sortowania przez wstawianie, która będzie korzystała z rekurencji. Wynikowa lista powinna być posortowana w kolejności niemalejącej. Funkcja ma sortować wejściową listę w miejscu. Program przetestuj dla danych:
Specyfikacja problemu:
Dane:
liczby– lista liczb całkowitychn– liczba elementów w liście; liczba naturalna
Wynik:
Program na standardowe wyjście wypisuje posortowaną niemalejąco listę liczb.