Apa itu Algoritma Bubble Sort?

Pengurutan adalah metode sederhana yang dipelajari di berat algoritma juga stuktur informasi. Terdapat berbagai algoritma pengurutan yang biasanya digunakan di berat rencana. Setelah perusahaan kita pernah sebelumnya membahas algoritma percabangan di situs internet ini, pada tulisan kali ini, perusahaan kita pasti akan membahas mengenai sederhana algoritma Bubble Sort. Algortima ini merupakan algortima pengurutan sedang juga sering dipelajari sebagai materi bahasan seputar pengurutan.

Algoritma Bubble Sort merupakan metode pengurutan yang secara berangsur-angsur memindahkan informasi langsung ke sikap yang sesuai. Karena itulah, algoritma ini dinamakan “bubble” atau bahkan yang jika diterjemahkan langsung ke berat Bahasa Indonesia, artinya yaitu lepuh. Fungsi algoritma ini adalah untuk mengurutkan informasi berasal dari yang terkecil langsung ke yang terbesar (ascending) atau bahkan khas (descending).

Metode pengurutan lepuh (Bubble Sort) ini terinspirasi melalui lepuh sabun pembersih yang berada di luas permukaan air. Karena besar dan kuat jenis lepuh sabun pembersih yang lebih dengan lembut ketimbang besar dan kuat jenis air, untuk alasan ini lepuh sabun pembersih pasti akan secara konsisten terapung langsung ke terbaik luas permukaan. Prinsip inilah yang dipakai pada algoritma pengurutan lepuh.

Secara sedang, mungkin didefinisikan bahwa algoritma Bubble Sort adalah pengurutan bersama metode pengganti informasi bersama informasi di sebelahnya secara konstan {sampai} pada satu iterasi tertentu dimana sama sekali tidak bahkan lebih perubahan yang substansial.

Sebelum kita masuk ke untuk membuat rencana, berikut ini adalah syarat juga langkah-langkah yang perlu diperhatikan pada teknik Bubble Sort:

  1. Jumlah iterasi sama seperti bersama banyaknya bilangan dikurang 1.
  2. Di setiap iterasi, kuantitas pengganti bilangannya sama seperti bersama kuantitas banyaknya bilangan.
  3. Dalam algoritma Bubble Sort, terlepas dari deretan bilangan tersebut saat ini terurut, metode sorting pasti akan ditangani dilakukan.
  4. Tidak ada variasi metode yang metode (PL) untuk prosedur algoritma Bubble Sort Ascending juga Descending.

Untuk mempelajari algoritma Bubble Sort ini, Anda seluruhnya penting memahami metode yang digunakan untuk mengurutkan informasi. Logika sederhananya, algoritma ini menggunakan kontras berat prosedur bedah antar elemennya. Kita simak tidak pantas satu kesempatan dibawah ini, yang merupakan gambaran berasal dari penerapan algoritma Bubble Sort bersama array “3 1 4 2 8”.

Proses memulai dengan:
(3 1 4 2 8) akhirnya menjadi (1 3 4 2 8)
(1 3 4 2 8) akhirnya menjadi (1 3 4 2 8)
(1 3 4 2 8) akhirnya menjadi (1 3 2 4 8)
(1 3 2 4 8) akhirnya menjadi (1 3 2 4 8)

Proses ke-2:
(1 3 2 4 8) akhirnya menjadi (1 3 2 4 8)
(1 3 2 4 8) akhirnya menjadi (1 2 3 4 8)
(1 2 3 4 8) akhirnya menjadi (1 2 3 4 8)
(1 2 3 4 8) akhirnya menjadi (1 2 3 4 8)

Proses 3:
(1 2 3 4 8) akhirnya menjadi (1 2 3 4 8)
(1 2 3 4 8) akhirnya menjadi (1 2 3 4 8)
(1 2 3 4 8) akhirnya menjadi (1 2 3 4 8)
(1 2 3 4 8) akhirnya menjadi (1 2 3 4 8)

Jika Anda memperhatikan metode yang mengembangkan di terbaik, ketika metode ke-2 informasi di berat array saat ini terurut bersama cara yang benar. Tetapi, algoritma Bubble Sort pasti akan terus jalan-jalan hingga metode ke-2 berakhir. Proses 3 ini pasti akan terus jalan-jalan, karena pada algoritma Bubble Sort, yang dimaksud “informasi saat ini terurut” adalah sama sekali tidak satupun pengganti informasi pada suatu metode. Proses 3 ini dimaksudkan untuk verifikasi informasi.

Algoritma Bubble Sort ini mempunyai kelebihan juga kelangkaan. Dua menghormati inilah yang akhirnya menjadi faktor programmer ketika membuat rencana. Berikut ini sejumlah kelebihan yang dimiliki melalui algoritma ini:

  • Algoritma ini adalah teknik banyak sedang untuk mengurutkan informasi.
  • Selain sedang, algoritma ini selanjutnya cepat dipahami.

Sedangkan, kelangkaan berasal dari algortima ini adalah sebagai berikut:

  • Tingkat efisiensinya yang apalagi. Bubble Sort ini merupakan teknik pengurutan yang tidak dapat diandalkan, terutama ketika mengurus informasi yang berjumlah substansial. Hal tersbeut karena ketika mengurutkan informasi yang secara substansial substansial pasti akan secara substansial bergerak lambat prosesnya.
  • Jumlah pengulangan yang dilakukan melalui algortima ini pasti akan ditangani sama seperti jumlahnya, terlepas dari informasi yang diurutkan saat ini cukup besar terurut.

Algoritma Bubble Sort {memiliki} sepasang jenis metode, yaitu metode Ascending (pengurutan informasi berasal dari yang terkecil langsung ke yang terbesar) juga Descending (pengurutan informasi berasal dari yang terbesar langsung ke yang terkecil). Apa sih variasi metode Ascending juga Descending? Simak pembahasannya dibawah ini:

Lihat lebih banyak:  Penyebab Kerusakan Harddisk - DosenIT.com

1. Proses Ascending

Kami pasti akan memberikan kesempatan untuk memberikan pemahaman kepada Anda seputar metode Ascending di berat algoritma Bubble Sort. Berikut ini adalah sebuah deretan bilangan yang perusahaan kita jadikan kesempatan: [5, 12, 3, 19, 1, 47]

Ini dia mengukur Bubble Sort bersama teknik Ascending:

Iterasi 1:
5, 12, 3, 19, 1, 47 –> Tidak ada pengganti. (5 < 12 == true)
5, 3, 12, 19, 1, 47 –> Ada pengganti. (12 < 3 == false)
5, 3, 12, 19, 1, 47 –> Tidak ada pengganti. (12 < 19 == true)
5, 3, 12, 1, 19, 47 –> Ada pengganti. (19 < 1 == false)
5, 3, 12, 1, 19, 47 –> Tidak ada pengganti. (19 < 47 == true)

Iterasi 2:
3, 5, 12, 1, 19, 47 –> Ada petukaran. (5 < 3 == false)
3, 5, 12, 1, 19, 47 –> Tidak ada pengganti. (5 < 12 == true)
3, 5, 1, 12, 19, 47 –> Ada pengganti. (12 < 1 == false)
3, 5, 1, 12, 19, 47 –> Tidak ada pengganti. (12 < 19 == true)
3, 5, 1, 12, 19, 47 –> Tidak ada pengganti. (19 < 47 == true)

Iterasi 3:
3, 5, 1, 12, 19, 47 –> Tidak ada pengganti. (3 < 5 == true)
3, 1, 5, 12, 19, 47 –> Ada pengganti. (5 < 1 == false)
3, 1, 5, 12, 19, 47 –> Tidak ada pengganti. (5 < 12 == true)
3, 1, 5, 12, 19, 47 –> Tidak ada pengganti. (12 < 19 == true)
3, 1, 5, 12, 19, 47 –> Tidak ada pengganti. (19 < 47 == true)

Iterasi 4:
1, 3, 5, 12, 19, 47 –> Ada pengganti. (3 < 1 == false)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (3 < 5 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (5 < 12 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (12 < 19 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (19 < 47 == true)

Iterasi 5:
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (1 < 3 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (3 < 5 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (5 < 12 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (12 < 19 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (19 < 47 == true)

Iterasi 6:
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (1 < 3 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (3 < 5 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (5 < 12 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (12 < 19 == true)
1, 3, 5, 12, 19, 47 –> Tidak ada pengganti. (19 < 47 == true)

Jadi, hasil akhir terakhir deretan bilangan di terbaik setelah diurutkan bersama algoritma Bubble Sort secara Ascending ialah [1, 3, 5, 12, 19, 47]

2. Proses Descending

Kami pasti akan memberikan kesempatan yang sama seperti seperti kesempatan di terbaik untuk memberikan pemahaman kepada Anda seputar metode Descending di berat algoritma Bubble Sort, yaitu sebuah deretan bilangan: [5, 12, 3, 19, 1, 47]

Lihat lebih banyak:  10 Cara Memperbaiki Printer Epson Paling Mudah

Ini dia mengukur Bubble Sort bersama teknik Descending:

Iterasi 1:
12, 5, 3, 19, 1, 47 –> Ada pengganti. (5 > 12 == false)
12, 5, 3, 19, 1, 47 –> Tidak ada pengganti. (5 > 3 == true)
12, 5, 19, 3, 1, 47 –> Ada pengganti. (3 > 19 == false)
12, 5, 19, 3, 1, 47 –> Tidak ada pengganti. (3 > 1 == true)
12, 5, 19, 3, 47, 1 –> Ada pengganti. (1 > 47 == false)

Iterasi 2:
12, 5, 19, 3, 47, 1 –> Tidak ada pengganti. (12 > 5 == true)
12, 19, 5, 3, 47, 1 –> Ada pengganti. (5 > 19 == false)
12, 19, 5, 3, 47, 1 –> Tidak ada pengganti. (5 > 3 == true)
12, 19, 5, 47, 3, 1 –> Ada pengganti. (3 > 47 == false)
12, 19, 5, 47, 3, 1 –> Tidak ada pengganti. (3 > 1 == true)

Iterasi 3:
19, 12, 5, 47, 3, 1 –> Ada pengganti. (12 > 19 == false)
19, 12, 5, 47, 3, 1 –> Tidak ada pengganti. (12 > 5 == true)
19, 12, 47, 5, 3, 1 –> Ada pengganti. (5 > 47 == false)
19, 12, 47, 5, 3, 1 –> Tidak ada pengganti. (5 > 3 == true)
19, 12, 47, 5, 3, 1 –> Tidak ada pengganti. (3 > 1 == true)

Iterasi 4:
19, 12, 47, 5, 3, 1 –> Tidak ada pengganti. (19 > 12 == true)
19, 47, 12, 5, 3, 1 –> Ada pengganti. (12 > 47 == false)
19, 47, 12, 5, 3, 1 –> Tidak ada pengganti. (12 > 5 == true)
19, 47, 12, 5, 3, 1 –> Tidak ada pengganti. (5 > 3 == true)
19, 47, 12, 5, 3, 1 –> Tidak ada pengganti. (3 > 1 == true)

Iterasi 5:
47, 19, 12, 5, 3, 1 –> Ada pengganti. (19 > 47 == false)
47, 19, 12, 5, 3, 1 –> Tidak ada pengganti. (19 > 12 == true)
47, 19, 12, 5, 3, 1 –> Tidak ada pengganti. (12 > 5 ==true)
47, 19, 12, 5, 3, 1 –> Tidak ada pengganti. (5 > 3 == true)
47, 19, 12, 5, 3, 1 –> Tidak ada pengganti. (3 > 1 == true)

Iterasi 6:
47, 19, 12, 5, 3, 1 –> Tidak ada pengganti. (47 > 19 == true)
47, 19, 12, 5, 3, 1 –> Tidak ada pengganti. (19 > 12 == true)
47, 19, 12, 5, 3, 1 –> Tidak ada pengganti. (12 > 5 == true)
47, 19, 12, 5, 3, 1 –> Tidak ada pengganti. (5 > 3 == true)
47, 19, 12, 5, 3, 1 –> Tidak ada pengganti. (3 > 1 == true)

Jadi, hasil akhir terakhir deretan bilangan di terbaik setelah diurutkan bersama algoritma Bubble Sort secara Descending ialah [47, 19, 12, 5, 3, 1]

Kompleksitas Algoritma Bubble Sort

Kompleksitas sebuah algoritma Bubble Sort dapat dilihat berasal dari sejumlah jenis situasi, yaitu worst-case, average-case, juga best-case.

Dalam situasi ini, informasi yang pasti akan diurutkan telah terurut baru-baru ini. Sehingga metode kontras seluruhnya dilakukan sebanyak (n-1) kali, bersama satu kali iterasi. Proses kontras dilakukan seluruhnya untuk memverifikasi keurutan informasi. Contoh situasi ini dapat dilihat pada pengurutan informasi “1 2 3 4” dibawah ini.

Iterasi memulai dengan:
(1 2 3 4) akhirnya menjadi (1 2 3 4)
(1 2 3 4) akhirnya menjadi (1 2 3 4)
(1 2 3 4) akhirnya menjadi (1 2 3 4)

Dalam metode di terbaik, dapat dilihat bahwa tidak mengembangkan penukaran sikap informasi apapun. Sehingga tidak dilakukan iterasi tambahan. Perbandingan aspek dilakukan sebanyak 3 kali. Proses kontras pada Kondisi kesehatan ini seluruhnya dilakukan sebanyak (n-1) kali. Persamaan Big-O yang diperoleh berasal dari metode ini adalah O(n).

Dalam situasi ini, informasi terkecil berada pada ujung array. Contoh berasal dari situasi ini dapat dilihat pada pengurutan informasi “4 3 2 1” dibawah ini:

Lihat lebih banyak:  7 Fungsi Clean Master pada Smartphone Android

Iterasi Pertama:
(4 3 2 1) akhirnya menjadi (3 4 2 1)
(3 4 2 1) akhirnya menjadi (3 2 4 1)
(3 2 4 1) akhirnya menjadi (3 2 1 4)

Iterasi Kedua:
(3 2 1 4) akhirnya menjadi (2 3 1 4)
(2 3 1 4) akhirnya menjadi (2 1 3 4)
(2 1 3 4) akhirnya menjadi (2 1 3 4)

Iterasi Ketiga:
(2 1 3 4) akhirnya menjadi (1 2 3 4)
(1 2 3 4) akhirnya menjadi (1 2 3 4)
(1 2 3 4) akhirnya menjadi (1 2 3 4)

Iterasi Keempat:
(1 2 3 4) akhirnya menjadi (1 2 3 4)
(1 2 3 4) akhirnya menjadi (1 2 3 4)
(1 2 3 4) akhirnya menjadi (1 2 3 4)

Di berat langkah-langkah pengurutan di terbaik, terlihat bahwa setiap kali jalankan satu iterasi, informasi terkecil pasti akan bergeser langsung ke jalan pendahuluan sebanyak satu step. Dengan istilah satu lagi, untuk menggeser informasi terkecil berasal dari seri 4th ke arah seri memulai dengan, dibutuhkan iterasi sebanyak 3 kali, ditambah satu kali iterasi untuk verifikasi informasi. Sehingga kuantitas metode pada Kondisi kesehatan worst-case dapat dirumuskan sebagai berikut:

“Jumlah metode = n2+n” (3)

Dalam rumus (3) di terbaik, n adalah kuantitas aspek yang pasti akan diurutkan. Sehingga notasi Big-O yang didapatkan adalah O(n2).

Pada Kondisi kesehatan average-case, kuantitas iterasi ditentukan berasal dari informasi mana yang mengalami ubah langsung ke kiri banyak berbagai. Hal ini dapat ditunjukkan melalui metode pengurutan suatu array, berniat saja deretan bilangan (1 8 6 2). Dari (1 8 6 2), dapat dilihat bahwa yang pasti akan mengalami metode penggeseran banyak berbagai adalah aspek 2, yaitu sebanyak {dua kali}.

Iterasi Pertama:
(1 8 6 2) akhirnya menjadi (1 8 6 2)
(1 8 6 2) akhirnya menjadi (1 6 8 2)
(1 6 8 2) akhirnya menjadi (1 6 2 8)

Iterasi Kedua:
(1 6 2 8) akhirnya menjadi (1 6 2 8)
(1 6 2 8) akhirnya menjadi (1 2 6 8)
(1 2 6 8) akhirnya menjadi (1 2 6 8)

Iterasi Ketiga:
(1 2 6 8) akhirnya menjadi (1 2 6 8)
(1 2 6 8) akhirnya menjadi (1 2 6 8)
(1 2 6 8) akhirnya menjadi (1 2 6 8)

Dari metode pengurutan di terbaik, dapat dilihat bahwa untuk mengurutkan informasi di berat array tersebut, dipanggil untuk sepasang produk buah iterasi, ditambah satu iterasi untuk verifikasi informasi. Dengan istilah satu lagi, kuantitas metode kontras dapat dihitung sebagai berikut.

“Jumlah metode = x2+x” (4)

Dalam rumus (4) di terbaik, x adalah kuantitas penggeseran terbanyak. Dalam menghormati ini, x pasti tidak pernah lebih substansial berasal dari n.

Jika Anda hendak mempelajari algoritma Bubble Sort, Anda mungkin mempraktekkannya menggunakan macam-macam bahasa asing menunjukkan, awal berasal dari Java, C++, Python, juga berbagai lainnya. Berikut ini adalah kesempatan berasal dari rencana C++ yang menggunakan algoritma Bubble Sort ini:

#embrace <iostream.h>
int foremost()
{
int informasi[10];
int i, j, ok, tmp, kuantitas=0;
cout<<“PROGRAM PENGURUTAN BILANGAN BUBBLE SORTnn”;
cout<<“Masukkan kuantitas bilangan : “; cin>>ok;
for(i=0; i<ok; i++)
{
cout<<“Masukkan Angka langsung ke “<<(i+1)<<” : “;
cin>>informasi[i];
if(informasi[i]%2==0)
{kuantitas+=informasi[i];}
}
cout<<“nData sebelumnya diurutkan : “<<endl;
for(i=0; i<ok; i++)
{
cout<<informasi[i]<<” “;
}
cout<<endl;
for( i=0;i<ok;i++)
{
for(j=i+1;j<ok;j++)
{
if(informasi[i]>informasi[j])
{
tmp=informasi[i];
informasi[i]=informasi[j];
informasi[j]=tmp;
}
}
}
cout<<“nData setelah diurutkan  : “<<endl;
for(i=0; i<ok; i++)
{
{
cout<<informasi[i]<<” “;
}
}
cout<<“nData setelah diurutkan (Genap): “<<endl;
for(i=0; i<ok; i++)
{
if (informasi[i]%2==0)
{
cout<<informasi[i]<<” “;
}
}
cout<<“nData setelah diurutkan (Ganjil): “<<endl;
for(i=0; i<ok; i++)
{
if (informasi[i]%2!=0)
{
cout<<informasi[i]<<” “;
}
}
cout<<“nnJumlah berasal dari bilangan juga = “<<kuantitas;
return 0;
}

Anda mungkin mencari lebih lanjut mengenai teknik algoritma Bubble Sort ini dengan web. Dengan web, Anda mungkin mendapatkan keuntungan mempelajari ilmu komputer pribadi. Siapa mengakui, berasal dari penuh arti hal-hal sedikit, Anda oleh karena itu mungkin membuat rencana yang praktis untuk budaya.

Oh iya, jika Anda saat ini terbayang persis bagaimana algortima Bubble Sort ini dibuat, mengukur tambahan Anda penting membuat flowchartnya. Anda mungkin lihat sejumlah kesempatan flowchart rencana yang jalankan algoritma Bubble Sort ini di web.

Sekian pembahasan perusahaan kita kali ini seputar algoritma Bubble Sort. Semoga tulisan perusahaan kita ini dapat akhirnya menjadi elemen penuh arti Anda berat mempelajari algoritma pengurutan.

Anda sederhana menonton: Apa itu Algoritma Bubble Sort?

Sumber: https://taylorswift10years.com

Kategori: Teknologi

Leave a Reply

Your email address will not be published.