Jumat, 10 Januari 2014

Struktur Data - Selection Sort

Assalamualaikum,
Pada kali ini kita akan membahas mengenai Selection Sort :

Selection Sort (Metode Seleksi) 

  • One of the simplest sorting algorithms
  • Merupakan kombinasi antara sorting dan searching
  • Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil (Ascending) atau terbesar (Descending) akan dipertukarkan ke posisi yang tepat di dalam array.
  • Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0])/ data pertama, pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1])/ data kedua atau selanjutnya.
  • Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses. 
Contoh Selection Sort :



Ascending 




  • Cek seluruh elemen array, temukan nilai terkecil (1) dan tukarkan posisinya dengan posisi nilai yang tersimpan pada posisi pertama dari array (3)





  • Temukan nilai terkecil kedua (2), dan tukarkan posisinya dengan nilai yang berada pada posisi kedua (10).



  • Dua elemen biru pertama tidak akan berubah lagi sebab mereka sudah merupakan nilai terkecil pertama dan kedua dalam array tsb.
  • Sekarang, ulangi dengan cara/proses “pilih dan tukar” 

  • Pengurutan Selesai.
Contoh Program Selection Sort menggunakan bahasa pemrograman C++
berikut kode programnya :
#include <iostream>
#include <conio.h>

int main(void)
{
int array[5]; // An array of integers.
int length = 5; // Lenght of the array.
int i, j;
int firstelement, temp;

//Some input
for (i = 0; i < length; i++)
{
cout << "Enter a number: ";
cin >> array[i];
}

//Algorithm
for (i= length - 1; i > 0; i--) 
{
firstelement = 0;
for (j=1; j<=i; j++)
{
if (array[j] < array[firstelement])
firstelement = j;
}
temp = array[firstelement];
array[firstelement] = array[i];
array[i] = temp;
}

//Some output
for (i = 0; i < 5; i++)
{
cout << array[i] << endl;
}
getch();
}

  • Program Setelah dieksekusi :

1 komentar:

caerazager mengatakan...

Casino City - Mapyro
Casino City is a gambling city in 서귀포 출장샵 the heart of Australia. Read reviews, see 청주 출장샵 information, directions, 당진 출장안마 reviews and contact 부천 출장마사지 Casino City directly. Rating: 2 · ‎5 광명 출장마사지 reviews

Free Software | tips and trick | Education | Photoshop