Selection Sort

·        Definisi
Selection Sort merupakan salah satu algoritma pengurutan yang sederhana. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.
Selection sort lebih efisien dari bubble sort karena selection memerlukan sedikit step atau langkah untuk mengurutkan data dan selection langsung melakukan. Beda dengan bubble yang menukar posisi angka jika angka lebih besar atau kecil dan kembali ke indeks pertama untuk melakukan penukaran sampai batas akhir jumlah list. Operasi pertukaran pada selection sort hanya dilakukan sekali saja.
·        Ilustrasi


·        Algoritma

      for slot in range(0,len(alist)-1):
       position=slot
       for location in range(slot+1,len(alist)):
           if alist[location]<alist[position]:
               position = location

·        Kode Program

     ü  Mengurutkan list paling kecil diletakkan di akhir

def selectionSort(alist):
for slot in range(len(alist)-1,0,-1):
position=0
for location in range(1,slot+1):
if alist[location]>alist[position]:
position = location
temp = alist[slot]
alist[slot] = alist[position]
alist[position] = temp
alist = [54,26,93,17]
selectionSort(alist)
print(alist)

    ü  Mengurutkan list paling kecil diletakkan di awal

   def seleksi(lst):
    for slot in range(0, len(lst)-1):
        posisi = len(lst)-1
        for lokasi in range(len(lst)-2,slot-1,-1):
            if lst[lokasi]<lst[posisi]:
                posisi = lokasi

        lst[slot],lst[posisi] = lst[posisi],lst[slot]
        print(lst)

    lst = [54, 93, 26, 17]

    seleksi(lst)

Postingan terkait:

Belum ada tanggapan untuk "Selection Sort"

Posting Komentar