140 likes | 743 Views
Algorytmy sortowania przez wstawianie, wybieranie i scalanie. Sortowanie przez wstawianie. Dany ciąg: a 1 ,…, a n. Kolejno dla każdego elementu ciągu, począwszy od drugiego:. 1. Zapamiętaj a i ;. 2. Wstaw a i do ciągu a 1 ,…, a i tak, aby był on uporządkowany.
E N D
Algorytmy sortowania przez wstawianie, wybieranie i scalanie
Sortowanie przez wstawianie Dany ciąg: a1,…, an Kolejno dla każdego elementu ciągu, począwszy od drugiego: 1. Zapamiętaj ai ; 2. Wstaw ai do ciągu a1,…, ai tak, aby był on uporządkowany.
Przykład sortowania przez wstawianie 6 6 , , , , , 2 2 4 8 1 5 , , , , , 6 4 4 8 1 5 2 , , , , , 4 8 8 1 5 2 2 , , , , , 4 4 6 6 8 1 1 5 1 , , , , , 6 8 5 5 1 , , , , , 2 4
Sortowanie przez wybieranie Dany ciąg: a1,…, an Kolejno dla elementów ai, i=1,…,n-1 wykonuj: 1. Znajdź element najmniejszy w podciagu ai,…, an ; 2. Zamień go miejscem z ai .
Przykładsortowania przez wybieranie , , , , , 5 5 4 2 8 1 1 6 4 2 , , , , , 4 2 8 6 1 , , , , , 8 5 6 4 1 , , , , , 2 8 8 5 5 6 6 1 , , , , , 2 4 5 8 6 1 2 4 5 , , , , ,
Sortowanie przez scalanie Dany ciąg: a1,…, an 1. Podziel ciąg na dwa podciągi a1,…,am oraz am+1,…,an, m=(n+1) div 2 (to samo wykonuj rekurencyjnie w każdym podciągów) ; 2. Sortuj i scalaj podciągi w jeden uporządkowany.
Przykład sortowania przez scalanie 8 , 6 , 2 , 7 , 4 , 9 , 5 , 3 8 , 6 , 2 , 7 4 , 9 , 5 ,3 8 , 6 2 , 7 4 , 9 5 , 3 8 6 2 7 4 9 5 3
Przykład sortowania przez scalanie 8 6 2 7 4 9 5 3 6 , 8 2 , 7 4 , 9 3 , 5 2 , 6 , 7 ,8 3 , 4 , 5 , 9 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9