Wstep do podstaw sortowania

Transkrypt

Wstep do podstaw sortowania
Wstep
, do podstaw sortowania
Grzegorz Mazur
Zaklad Metod Obliczeniowych Chemii UJ
10 kwietnia 2007
1
Wstep
,
2
Sortowanie wewnetrzne
przez przez porównanie
,
Dolne oszacowanie kosztu czasowego sortowania
Proste algorytmy sortujace
,
Plan
Wstep
,
Sortowanie wewnetrzne
przez
przez
porównanie
,
Klasyfikacje
Algorytmy sortowania można podzielić ze wzgledu
na
,
1 Dostepna informacje o kluczach
,
,
,
1
2
2
Dostep
, do elementów
1
2
3
Sortowanie wewnetrzne
,
Sortowanie zewnetrzne
,
Koszt pamieciowy
,
1
4
Sortowanie przez porównanie
Sortowanie pozycyjne
Algorytmy sortujace
w miejscu
,
Zachowanie kolejności elementów o równych kluczach
1
2
Algorytmy stabilne
Algorytmy niestabilne
Grzegorz Mazur
Wstep
do podstaw sortowania
,
Plan
Wstep
,
Sortowanie wewnetrzne
przez
przez
porównanie
,
Dolne oszacowanie kosztu czasowego sortowania
Proste algorytmy sortujace
,
Drzewo sortujace
, ciag
,
Co?
Drzewo w którego wez
znajduja, sie, porównania
, lach wewnetrznych
,
elementów ciagu
a w liściach uporzadkowane
permutacje.
,
,
Po co?
Każdy algorytm sortowania przez porównanie daje sie, rozwinać
,
w pewne drzewo sortujace.
Czyli
badaj
ac
w
laściwości
takich
drzew
,
,
możemy dowieść wlaściwości algorytmów sortujacych.
,
Grzegorz Mazur
Wstep
do podstaw sortowania
,
Plan
Wstep
,
Sortowanie wewnetrzne
przez
przez
porównanie
,
Dolne oszacowanie kosztu czasowego sortowania
Proste algorytmy sortujace
,
Koszt pesymistyczny
Dolne oszacowanie kosztu pesymistycznego dane jest przez
W (n) ≥ min h(T )
T ∈Bn
(1)
gdzie Bn to zbór drzew sortujacych
ciag
,
, n-elementowy a h(T ) to
wysokość drzewa T .
Ponieważ drzewo binarne może mieć co najwyżej 2h(T ) liści
2h(T ) ≥ n!
(2)
h(T ) ≥ log(n!) ≥ n log n − 1.45n
(3)
czyli
Grzegorz Mazur
Wstep
do podstaw sortowania
,
Plan
Wstep
,
Sortowanie wewnetrzne
przez
przez
porównanie
,
Dolne oszacowanie kosztu czasowego sortowania
Proste algorytmy sortujace
,
Koszt średni
Przy zalożeniu że każda permutacja jest jednakowo
prawdopodobna, dolne oszacowanie kosztu średniego dane jest
przez
d(T )
V (n) ≥ min
(4)
T ∈Bn n!
gdzie Bn to zbór drzew sortujacych
ciag
,
, n-elementowy a d(T ) to
calkowita dlugość ścieżek zewnetrznych
w drzewie T .
,
Można pokazać, że
V (n) ≥ n log n − 1.45n
Grzegorz Mazur
Wstep
do podstaw sortowania
,
(5)
Plan
Wstep
,
Sortowanie wewnetrzne
przez
przez
porównanie
,
Dolne oszacowanie kosztu czasowego sortowania
Proste algorytmy sortujace
,
Sortowanie babelkowe
,
W pojedynczym przebiegu przechodzimy po wszystkich elementach
ciagu
porównujac
elementów i zamieniajac
,
, wartości sasiednich
,
,
miejscami elementy par które nie sa, uporzadkowane.
Przebiegi
,
powtarzamy dopóki ciag
, nie jest uporzadkowany.
,
Grzegorz Mazur
Wstep
do podstaw sortowania
,
Plan
Wstep
,
Sortowanie wewnetrzne
przez
przez
porównanie
,
Dolne oszacowanie kosztu czasowego sortowania
Proste algorytmy sortujace
,
Sortowanie przez wstawianie
Dla każdego i = 2, 3, . . . , n wstawiamy ai w odpowiednie miejsce
uporzadkowanego
podciagu
aj , i = 1, . . . , i − 1.
,
,
Grzegorz Mazur
Wstep
do podstaw sortowania
,
Plan
Wstep
,
Sortowanie wewnetrzne
przez
przez
porównanie
,
Dolne oszacowanie kosztu czasowego sortowania
Proste algorytmy sortujace
,
Sortowanie przez wybór
Wyznaczamy najmniejszy element ciagu
i zamieniamy go miejscami
,
z pierwszym elementem, spośród pozostalych elementów
wyszukujemy najmniejszy i zamieniamy go miejscami z drugim
elementem, kontynuujemy aż cala tablica jest posortowana.
Grzegorz Mazur
Wstep
do podstaw sortowania
,