Bubble Sort

Bubble Sort
·        Definisi

Bubble sort adalah salah satu algoritma untuk sorting data, atau kata ainnya mengurutkan data dari yang erbesar ke yang terkecil atau sebaliknya (Ascensing atau Descending). Bubble sort (metode gelembung) adalah metode / algoritma pengurutan dengan cara melakukan penukaran data dengan tepat disebelhnya secara terus menerus sampai bias dipastikan dalam satu iterasi tertenu tidak ada lagi perubahan. Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang proses pembandingan antara tiap – tiap elemen array dan menukarnya apabila urutannya salah, penukaran tersebut harus diulang sampai tidak ada penukaran lagi.
·        Ilustrasi


·        Algoritma
for i in range (0, len(data)-1):
      print ('Langkah ke-%d: ' % (i+1), end='')
      for j in range(len(data)-1, i, -1):
                  if data[j] < data[j-1]:
                              temp <- data[j]
                              data[j] <- data[j-1]
                              data[j-1] <- temp

·        Kode Program

def bubblesort(data):
    for i in range (0, len(data)-1):
        print ('Langkah ke-%d: ' % (i+1), end='')
        for j in range (len(data)-1, i, -1):
                if data[j] < data[j-1]:
                        temp = data[j]
                        data[j] = data[j-1]
                        data[j-1] = temp
        print(data)
data = [12, 35, 9, 11, 3, 17, 23, 15, 31, 20]

Hasil Run :


Modifikasi Bubblesort agar data yang diurutkan tidak diurutkan kembali
Kode program :
            def shortBubbleSort(lst):
    exchanges = True
    passnum = len(lst)-1
    while passnum and exchanges > 0:
        exchanges = False
        for i in range(passnum):
            if lst[i]>lst[i+1]:
                lst[i],lst[i+1] = lst[i+1],lst[i]
        passnum = passnum - 1

        for i in range (passnum,0,-1):
            if lst[i] < lst[i-1]:
                exchanges = True

        print(lst)
    return(lst)

lst=[3, 2, 1]
shortBubbleSort(lst)

Postingan terkait:

Belum ada tanggapan untuk "Bubble Sort"

Posting Komentar