Bez tytułu slajdu
Transkrypt
Bez tytułu slajdu
Sortowanie przez wstawianie 8 2 13 1 11 5 6 8 key= 12 Kolejno rozsuwamy ułożone już dane tak, aby właściwie umieścić następną daną Sortowanie przez wstawianie 5 8 5 12 11 12 key= 6 2 13 1 8 1 Sortowanie przez wstawianie 5 6 11 12 8 2 13 1 8 Po czwartej iteracji prawdą jest, że *elementy t[1],t[2],t[3], t[4] są dobrze uporządkowane * nie zgubiliśmy żadnego elementu tablicy Niezmiennik pętli Ogólnie: •Po każdej kolejnej iteracji obszar uporządkowania poszerza się o 1 pozycję. •Każda iteracja jest permutacją elementów tablicy 2 Sortowanie przez wybieranie 5 i=0 12 6 11 8 2 13 1 8 MAX i=1 13 12 6 11 8 2 5 1 8 6 11 8 2 5 1 8 8 2 5 1 8 8 2 5 1 8 MAX i=2 13 12 Kolejno odnajdujemy element największy w danych i zamieniamy go z elementem z aktualnej pozycji MAX i=3 13 12 11 6 Sortowanie przez wybieranie i=3 13 12 11 6 Niezmiennik pętli • po i-tym kroku i największych elementów jest na swoich miejscach; • ciąg t[0],.... ,t[n-1] jest permutacją ciągu wejściowego; 3 Kolejno zamieniaj sąsiadujące elementy tablicy jeśli są źle uporządkowane i=0 11 8 2 12 13 8 7 11 8 2 12 13 7 8 11 8 2 12 7 13 8 11 8 2 7 12 13 8 11 8 2 7 12 13 8 11 2 8 7 12 13 8 2 11 8 7 12 13 8 2 11 8 7 12 8 13 2 11 8 7 8 12 13 2 11 8 7 8 12 13 2 11 7 8 8 12 13 2 7 11 8 8 12 13 2 7 11 8 8 12 13 i=1 i=2 Dlaczego algorytm jest poprawny? Sortowanie przez BULGOTANIE , BĄBELKOWA NIE…. Sortowanie przez BULGOTANIE, BĄBELKOWANIE…. Niezmiennik pętli : • i elementów znajduje się na swoich miejscach • t[1], t[2],….t[n] jest permutacją danych poczatkowych 4 1) Przedstaw kolejno zawartość tablicy A przy zastosowaniu algorytmów: Insertion-Sort, Selection-Sort i Bubble-Sort. 2) Ile elementarnych operacji wykonuje każdy z algorytmów? 3) Oceń kiedy jest min i kiedy max tych operacji ? Zadanie D: Zaimplementować procedury sortowania według algorytmów Insertion-Sort, Selection-Sort, Bubble-Sort. Zaplanować i wykorzystać w programie MAKRA Wyznaczyć średnie efektywności w/w procedur sortowania w operacjach na wektorze liczb zmiennoprzecinkowych Sortowanie.dev 5