Selection Sort adalah salah satu teknik mengurutkan data.
Kelebihan: Algoritmanya cukup sederhana dan mudah diimplementasikan
Kekurangan: Tidak efektif jika mengurutkan data yang banyak
Kompleksitas: O(n^2)
Animasi visualnya dapat dilihat di visualgo.net/sorting.html
Penjelasan lebih lanjut dapat dilihat di en.wikipedia.org/wiki/Selection_sort
Berikut code dan implementasinya dalam bahasa pemrograman C.
#include <stdio.h>
int main()
{ int N, i;
// Input jumlah test case
scanf("%d", &N);
// Input Data
int arr[N];
for(i = 0;i < N;i++)
scanf("%d", &arr[i]);
//Selection Sort
int j, akhir = N-1, indeks, tmp;
for(i = 0;i < akhir;i++)
{
indeks = i;
for(j = i+1;j < N;j++)
if(arr[indeks] > arr[j])
indeks = j;
if(indeks != i) // Switch data
{
tmp = arr[i];
arr[i] = arr[indeks];
arr[indeks] = tmp;
}
}
// Output
printf("%d", arr[0]);
for(i = 1;i < N;i++)
printf(" %d", arr[i]);
}
Contoh test case:
7
7 5 3 1 6 4 2
Contoh output:
1 2 3 4 5 6 7
No comments:
Post a Comment