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
[Algorytmy][Quicksort] problem z dokonczeniem sortowania
[Algorytmy][Quicksort] problem z dokonczeniem sortowania
Ostatnio zmieniony 2 sty 2012, o 00:14 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
-
- 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
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]