Вы находитесь на странице: 1из 2

Selection Sort Metode selection sort merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan.

Selection sort merupakan metode pengurutan dengan mencari nilai data terkecil dimulai dari data diposisi 0 hingga diposisi N-1. Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma pengurutan dengan metode selection sort adalah sebagai berikut: 1. Cari data terkecil dalam interval j = 0 sampai dengan j = N-1 . Jika pada posisi pos ditemukan data !ang terkecil" tukarkan data diposisi pos dengan data di posisi i jika k. #. $langi langkah 1 dan sampai j = N - 1. dengan j = j+i sampai dengan j = N-1" dan seterusn!a

%ila diketahui data a&al berupa: '' (( 1 ' )' 1* + +," maka langkah per langkah pengurutan dengan metode selection sort adalah sebagai berikut: -abel . .angkah demi langkah pengurutan dengan metode selection sort.
44 0+ 0+ 0+ 0+ 0+ 0+ 0+ 06 55 (( 1 1 1 1 1 1 12 12 1 (( 1* 1* 1* 1* 1* 18 42 ' ' ' ' ' ' ' 42 94 )' )' )' )' '' '' '' 44 18 1* 1* (( (( (( (( (( 55 06 '' '' '' '' )' )' +, 67 67 +, +, +, +, +, +, )' 94 Data Awal -ukarkan data ke 1 dengan data ke , -ukarkan data ke dengan data ke #

-ukarkan data ke # dengan data ke + /ata ke ' tidak ditukarkan /ata ke ( ditukarkan dengan data ke , /ata ke + tidak ditukarkan /ata ke , ditukarkan dengan data ke * Data setelah terurut

%erikut implementasi dari metode selection sort dengan menggunakan bahasa C:


void selectionsort(int arr[]) { int i,j; for (i = 0; i < N; i++) { int min = arr[i]; int pos = i; for (j = i; j < N; j++) { /* ari nilai !an" ter#ecil */ if (arr[j] < min) { min = arr[j]; pos = j; $ $ /* %&#ar nilai ter#ecil #e arr[i] ji#a pos td# sama i */ if(i'=pos) { int temp = arr[i];
Struktur Data Author: Taufik Fuadi Abidin, 1 !Tech "h!D

arr[i] = arr[pos]; arr[pos] = temp; $ $ $

Insertion Sort Metode pengurutan selection sort sering dipakai oleh orang saat bermain kartu brid#e dalam mengurutkan kartun!a" !aitu dengan cara men!isip kartu !ang lebih kecil ke urutan sebelum posisi kartu !ang dibandingkann!a. 0erhatikan tabel berikut. -abel #. .angkah demi langkah pengurutan dengan metode insertion sort.
+, +, ## 1 1 1 1 1 ## ## +, ## ## ## ## ## 1 1 1 +, +, ') ') ') *' *' *' *' *' +, (0 (0 ') ') ') ') ') *' +, +, (0 (0 (0 (0 (0 (0 *' ,( ,( ,( ,( ,( ,( ,( ,( *' /ata a&al 1nisialisasi data 1 %andingkan data ke dengan data ke 1. -ukar bila data !ang dibanding lebih kecil dari data sebelumn!a %andingkan data ke # dengan data ke dan 1. -ukar bila data !ang dibanding lebih kecil dari data sebelumn!a %andingkan data ke ' dengan data ke #" dan 1. -ukar bila data !ang dibanding lebih kecil dari data sebelumn!a %andingkan data ke ( dengan data ke '" #" dan 1. -ukar bila data !ang dibanding lebih kecil dari data sebelumn!a %andingkan data ke + dengan data ke (" '" #" dan 1. -ukar bila data !ang dibanding lebih kecil dari data sebelumn!a %andingkan data ke , dengan data ke +" (" '" #" dan 1. -ukar bila data !ang dibanding lebih kecil dari data sebelumn!a

%erikut implementasi dari metode insertion sort dengan menggunakan bahasa C:


void insertionsort(int arr[]) { int i,j; for (i = (; i < N; i++) { int temp = arr[i]; int pos = i; for (j = i; j ) 0; j**) { if (temp < arr[j*(]) { arr[j] = arr[j*(]; pos**; $ $ arr[pos]=temp; $ $

Struktur Data Author: Taufik Fuadi Abidin,

$ !Tech "h!D

Вам также может понравиться