[Algorytmy][Quicksort] problem z dokonczeniem sortowania

Awatar użytkownika
paulisian
Użytkownik
Użytkownik
Posty: 71
Rejestracja: 4 sty 2010, o 16:58
Płeć: Kobieta

[Algorytmy][Quicksort] problem z dokonczeniem sortowania

Post autor: paulisian »

czesc! Na najblizsze zajecia z aisd mamy opanowac quicksort jednak mnie cos tutaj nie wychodzi. Zilustuje wam przyklad:
[2,6,4,8,7,3,1,5] - jako element podzialu wybieram 5 i po porownaniach wychodzi ze:
[2,4,3,1, |5|, 6, 8 ,7] - zatem biore pod uwage np. pierwsza czesc tablicy
[2,4,3,1] - element podzialu to ostatni, zatem 1:
dla i=0, j=1 mamy \(\displaystyle{ 2 \le 1}\) N
dla i=0, j=2 mamy \(\displaystyle{ 4 \le 1}\) N
dla i=0, j=3 mamy \(\displaystyle{ 3 \le 1}\) N
dla i=0, j=4 mamy \(\displaystyle{ 1 \le 1}\) T
zatem zamieniam 2 z 1 i mam: [|1|,4,3,2]
zatem mam [1] oraz [4,3,2] wiec biore druga tablice:
dla i=0, j=1 mamy \(\displaystyle{ 4 \le 2}\) N
dla i=0, j=2 mamy \(\displaystyle{ 3 \le 2}\) N
dla i=0, j=3 mamy \(\displaystyle{ 2 \le 2}\) T
zatem zamieniam 3 z 2 i mam: [4, |2|, 3]
iii co dalej???
bardzo prosze o kontynuacje tego przykladu bo naprawde nie mam pojecia co dalej zrobic
Ostatnio zmieniony 2 sty 2012, o 00:14 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
matshadow
Użytkownik
Użytkownik
Posty: 941
Rejestracja: 17 gru 2007, o 21:48
Płeć: Mężczyzna
Lokalizacja: Kingdom Hearts
Podziękował: 6 razy
Pomógł: 222 razy

[Algorytmy][Quicksort] problem z dokonczeniem sortowania

Post autor: matshadow »

Zamieniasz 4 z 2, a nie 3 z 2. Dzielisz na połówki rekurencyjnie i je sortujesz, dopóki długość nie będzie równa 2 lub 1. Potem wracasz do tych połówek, których nie obsłużyłaś, tj np [5, 6, 8 ,7]
Awatar użytkownika
paulisian
Użytkownik
Użytkownik
Posty: 71
Rejestracja: 4 sty 2010, o 16:58
Płeć: Kobieta

[Algorytmy][Quicksort] problem z dokonczeniem sortowania

Post autor: paulisian »

dobra ok juz mam to zrobione, dzieki
ODPOWIEDZ