Uvod u Bubble Sort u Javi

Sorta mjehurića jedan je od najčešće korištenih algoritama za razvrstavanje podataka na Javi. Ovdje se razvrstava rekurzivno uspoređujući susjedne brojeve i premještajući ih u povećanju ili smanjenju prema potrebi. To pomicanje elemenata vrši se sve dok se sve znamenke ne razvrstaju u željenom redoslijedu.

Naziv "Bubble sort" ovog algoritma je zbog toga što elementi matriksa putuju do početka. Razjasnimo algoritam sortiranja mjehurića uzimajući primjer.

Primjer: Razmotrite niz brojeva (6 1 8 5 3) koji je potrebno poredati u rastućem redoslijedu.

Algoritam sortiranja mjehurića radi u više iteracija dok ne utvrdi da su svi brojevi poredani.

iteracija

Ispod su iteracije izvedene u Bubble Sort u Javi, a to je:

Prva Iteracija

(6 1 8 5 3) - Počinje usporedbom prva dva broja i pomicanjem manjeg broja dva u desnu stranu. Dakle, između 6 i 1, 1 je manji broj pomaknut ulijevo, a 6 u desno.

(1 6 8 5 3) - Zatim uspoređuje susjedna dva broja pomičući jedan položaj udesno. Ovdje je broj 6 manji od 8 i zadržava se isti red.

(1 6 8 5 3) - Ponovno pomicanjem jednog položaja u desno uspoređivanje se odvija između 8 i 5. Broj 5 pomiče se ulijevo jer je manji od 8.

(1 6 5 8 3) - Ovdje se usporedba odvija između brojeva 8 i 3. Broj 3 pomakne se ulijevo jer je manji od 8.

(1 6 5 3 8) - Ovo je konačni rezultat naloga nakon 1. iteracije.

Druga Iteracija

Budući da brojke još uvijek nisu potpuno u sve većem redoslijedu, program ide za drugom ponavljanjem.

(1 6 5 3 8) - Ovdje usporedba opet započinje s prve dvije znamenke rezultata iz prve iteracije. Uspoređuje brojeve 1 i 6 i zadržava isti red jer je 1 manji od 6.

(1 6 5 3 8) - Ovdje se uspoređuju brojevi 5 i 6. Zadržava se isti poredak koji je već u traženom povećanju.

(1 5 6 3 8) - Ovdje se uspoređuje između brojeva 6 i 3. Broj 3 pomakne se ulijevo jer je manji od 6.

(1 5 3 6 8) - Sljedeći brojevi 6 i 8 uspoređuju se jedan s drugim. Zadržava se isti red kao i u očekivanom redoslijedu.

(1 5 3 6 8) - Ovo je konačni rezultat nakon druge iteracije. Ipak, možemo primijetiti da znamenke nisu u potpunosti poredane svojim rastućim redoslijedom. Ipak moramo razmijeniti brojeve 5 i 3 da bismo postigli konačni rezultat. Otuda program ide na treću iteraciju.

Treća Iteracija

(1 5 3 6 8) - Treća ponavljanje započinje usporedbom prve dvije znamenke 1 i 5. Budući da je redoslijed kakav se očekuje očekivan je isti.

(1 5 3 6 8) - Zatim se uspoređuju susjedni brojevi 3 i 5. Kako je 5 veći od 3 pomaknut je u desnu stranu.

(1 3 5 6 8) - Iteracija se nastavlja za usporedbu brojeva 5 i 6, 6 i 8. Budući da je u traženom redoslijedu, zadržava redoslijed.

(1 3 5 6 8) - Konačno se iteracija zaustavlja dok program prolazi uspoređujući svaki susjedni element i utvrdi da su sve znamenke u sve većem redoslijedu.

Budući da je ovdje bilo samo 5 elemenata niza koje je bilo potrebno sortirati, bilo je potrebno samo 3 iteracije. Kako se elementi u nizu povećavaju, povećava se i količina iteracija.

Implementacija Bubble Sort pomoću Java

Ispod je kôd Java koji je implementacija algoritma sortiranja Bubblea. (Imajte na umu da prvo mjesto matrice u Javi počinje od 0 i nastavlja se u koracima od 1, tj. Niz (0), niz (1), niz (2) i nastavlja se.)

Kodirati:

import java.util.Scanner;
public class BubbleSort (
static void bubbleSort(int() arraytest) (
int n = arraytest.length; //length of the array is initialized to the integer n
int temp = 0; //A temporary variable called temp is declared as an integer and initialized to 0
for(int i=0; i < n; i++)( // first for loop performs multiple iterations
for(int j=1; j < (ni); j++)(
if(arraytest(j-1) > arraytest(j))( // if loop compares the adjacent numbers
// swaps the numbers
temp = arraytest(j-1); // assigns the greater number to temp variable
arraytest(j-1) = arraytest(j); // shifts the lesser number to the previous position
arraytest(j) = temp; // bigger number is then assigned to the right hand side
)
)
)
)
public static void main(String() args) (
int arraytest() =(23, 16, 3, 42, 75, 536, 61); // defining the values of array
System.out.println("Array Before Doing Bubble Sort");
for(int i=0; i < arraytest.length; i++)( // for loop used to print the values of array
System.out.print(arraytest(i) + " ");
)
System.out.println();
bubbleSort(arraytest); // array elements are sorted using bubble sort function
System.out.println("Array After Doing Bubble Sort");
for(int i=0; i < arraytest.length; i++)(
System.out.print(arraytest(i) + " "); // for loop to print output values from array
)
)
)

Izlaz:

Prednosti i nedostaci sortiranja mjehurića u Javi

Ispod su različite prednosti i nedostaci sorte mjehurića u javi:

prednosti

  1. Kôd je vrlo lako napisati i razumjeti. Obično traje svega nekoliko minuta.
  2. Provedba je također vrlo jednostavna.
  3. Bubble razvrstavanje sortira brojeve i čuva ih u memoriji čime štedi puno memorije.

Nedostaci

  1. Ovaj algoritam nije prikladan za velike skupove podataka jer usporedba traje mnogo vremena. Vrijeme potrebno za sortiranje ulaznih brojeva eksponencijalno raste.
  2. O (n 2) je prosječna složenost Bubble vrste i O (n) je najbolja složenost slučaja (najbolji je slučaj kad su elementi sortirani na prvom mjestu) gdje je n broj elemenata.

Aplikacije u stvarnom vremenu

Budući da je Bubble vrsta sposobna otkriti minutne pogreške u razvrstavanju, koristi se u računalnoj grafici. Također se koristi u algoritmu punjenja poligona gdje treba sortirati obloge vrhova poligona.

Zaključak

U ovom smo članku vidjeli kako funkcionira algoritam sortiranja Bubblea i kako se može implementirati pomoću Java programiranja. Bubble sort je vrlo stabilan algoritam koji se može lako implementirati za relativno male skupove podataka. To je slučaj algoritma usporedbe, a novinari ga koriste zbog svoje jednostavnosti.

Preporučeni članci

Ovo je vodič za Bubble Sort u Javi. Ovdje smo raspravljali o više iteracija za izvođenje mjehurića sorte u Javi i njegovu implementaciju koda zajedno s prednostima i nedostacima. Možete pogledati i sljedeće članke da biste saznali više -

  1. Bubble Sort in JavaScript
  2. Razvrstavanje u R
  3. 3D nizovi na Javi
  4. Nizovi u C #
  5. Bubble Sort in Python

Kategorija: