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 ,