·
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):
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)
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)

Belum ada tanggapan untuk "Selection Sort"
Posting Komentar