• Nie Znaleziono Wyników

sortowanie algorytmyistrukturydanych

N/A
N/A
Protected

Academic year: 2021

Share "sortowanie algorytmyistrukturydanych"

Copied!
1
0
0

Pełen tekst

(1)

ćwiczenia (licencjat dzienny): lista zadań nr 2 17 października 2007 r.

algorytmy i struktury danych

sortowanie

Instytut Informatyki Uniwersytetu Wrocławskiego Paweł Rzechonek

1. [∗∗] Jakie jest dokładne dolne ograniczenie na liczbę porównań dla algorytmu sortującego 5 elementów?

Podaj algorytm, który posortuje 5–elementową tablicę tylko przy pomocy porównań i zamian, i który wykona nie więcej porównań niż to wynika z dolnej granicy.

2. [∗∗] Wykaż, że algorytm sortowania bąbelkowego na ciągu n–elementowym wykona liniową liczbę za- mian elementów w przypadku (chociaż liczba porównań zawsze będzie kwadratowa), gdy liczba inwersji związanych z każdym elementem jest rzędu O(1).

3. [∗∗∗] Bedziemy uruchamiać algorytm sortowania bąbelkowego na n–elementowych ciągach. Rozważmy trzy szczególne przypadki takich ciągów:

(a) ciag posortowany (0 inwersji);

(b) ciąg posortowany, w którym zamieniono miejscami parę elementów, pierwszy położony blisko po- cząku a drugi blisko końca tablicy (w przypadku zamiany elementu pierwszego z ostatnim liczba inwersji wyniesie 2n − 3);

(c) wewnątrz posortowanego ciągu wyróżniono blok rozmiaru b√

nc, w którym odwrócono kolejność elementów (liczba inwersji wyniesie bnc·b2n−1c).

Dokonaj takiej modyfikacji w algorytmie sortowania bąbelkowego, która spowoduje, że dla wymienionych przypadków będzie on działał w czasie liniowym O(n).

4. [∗∗] Wykaż, że algorytm sortowania przez wstawianie na ciągu n-elementowym wykona liniową liczbę porównań i zamian (będzie działał w liniowym czasie), gdy całkowita liczba inwersji w sortowanym ciągu jest rzędu O(n).

5. [∗∗∗] W posortowanym ciągu dokonujemy losowej transpozycji (zamiany pary elementów miejscami).

Ile porównań elementów w średnim przypadku wykona algorytm sortowania przez wstawianie, gdy uru- chomimy go na takim ciągu?

6. [∗∗] Dana jest prostokątna tablica elementów, które możemy porównywać za pomocą relacji ≤.

W tablicy tej najpierw sortujemy wszystkie wiersze, a potem wszystkie kolumny. Wykaż, że po po- sortowaniu kolumn wiersze nadal pozostaną posortowane.

7. [∗∗∗] Dany jest n–elementowy ciąg elementów, które możemy porównywać za pomocą relacji ≤, oraz dwie liczby naturalne p i q, takie że 1 < p < q < n. Na ciągu tym wykonujemy najpierw q–sortowanie, a potem p–sortowanie. Wykaż, że po wykonaniu p–sortowania ciąg ten będzie nadal q–posortowany.

1

Cytaty

Powiązane dokumenty

(4.2.3) połącz po 1 serii fikcyjnej z każdego z nieaktywnych plików wejściowych, jeśli istnieją, oraz dopóki nie wyczerpiesz jednej serii rzeczywistej na każdym z aktywnych

Czy problem „chińskich filozofów” można rozwiązać nie wprowadzając szefa sali lub jakiejś formy pamięci

Założenie: najefektywniejsze rozwiązanie stosu za pomocą tablicy – szczyt stosu to ostatni element wstawiony tablicy począwszy od miejsca o indeksie 0 (jeśli liczba elementów

Niech A będzie gwiaździstym względem zera, pochłaniającym podzbiorem przestrzeni liniowej X, którego przecięcia z każdą prostą są domknięte2. Wykaż, że jeśli zbiór A

[∗∗] Wiemy, że dolna granica na liczbę wykonywanych porównań przez dowolny algorytm znajdujący minimum w n–elementowym zbiorze wynosi n − 1.. Dolna granica na

Sortowanie takiego pliku kart omawianą metodą polega na tym, że gracz stopniowo dokłada karty do uporządkowanej części kart (początkowo zawierającej jedną kartę)

Jeśli kolumna z wodą jest zamknięta u góry, tak iż powietrze nie może się z niej wydostać, powietrze stopniowo będzie wypełniać jej górną część.. Sortowanie bąbelkowe

• Ostatnim krokiem jest zamiana miejscami elementów tablicy: pierwszego i poprzedzającego wskazywany przez zmienną granica – chcemy, aby element osiowy był