[Algorytmy] QuickSort - liczba przestawień a liczba porównań

matinf
Użytkownik
Użytkownik
Posty: 1922
Rejestracja: 26 mar 2012, o 18:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 695 razy
Pomógł: 4 razy

[Algorytmy] QuickSort - liczba przestawień a liczba porównań

Post autor: matinf »

Cześć.

Kod: Zaznacz cały

zalozenia: {l < r
 a[l], a[l+1], a[l+2],...,a[r] le a[r+1] 
v=a[l]; i=l; j=r+1
}
repeat
     repeat     i = i + 1   until    a[i] >= v
     repeat     j = j -  1   until    a[j] <= v
     if i <= j  then a[i] <--> a[j]
until j <= i
a[l]=a[j]
a[j]=v
//koniec partition
if j - 1 > l then qsort (l, j-1)
if r > j + 1 then qsort (j+1, r)
Pokazać, że w algorytmie Qsort liczba przestawień jest nie większa niż połowa liczby porównań.
No i wydaje mi się, że wystarczy powiedzieć, że zawsze zanim wykonamy (ewentualną, bo wziętą w ifa zamianę) musimy wykonać co najmniej dwa porównania (choć jedno w repeat pierwszym, choć jedno w repeat drugim).

Ale wydaje mi się, że za łatwo. Co o tym sądzicie ?
Ostatnio zmieniony 16 lis 2014, o 09:01 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
ODPOWIEDZ