Introducere în Bubble Sort în Java

Sortarea cu bule este unul dintre algoritmii cei mai folosiți pentru sortarea datelor în Java. Sortarea aici se face prin compararea recursivă a numerelor adiacente și schimbarea acestora în ordine crescătoare sau descrescătoare, după cum este necesar. Această schimbare a elementelor se face până când toate cifrele sunt complet sortate în ordinea necesară.

Numele „Bubble sort” al acestui algoritm se datorează faptului că elementele unui tablou bulește drumul către începutul acestuia. Să înțelegem algoritmul de sortare a bulelor, luând un exemplu.

Exemplu: Luați în considerare o serie de numere (6 1 8 5 3) care trebuie aranjate în ordine crescătoare.

Algoritmul de sortare a bulelor funcționează în mai multe iterații până când constată că toate numerele sunt sortate.

iterații

Mai jos sunt iterațiile efectuate în Bubble Sort în Java care este următorul:

Prima iterație

(6 1 8 5 3) - Începe prin compararea primelor două numere și deplasează numărul mai mic al celor două spre dreapta. Prin urmare, între 6 și 1, 1 este numărul mai mic este deplasat la stânga și 6 la dreapta.

(1 6 8 5 3) - În continuare, compară cele două numere adiacente, mutând o poziție spre dreapta. Aici, numărul 6 este mai mic decât 8 și, prin urmare, se păstrează aceeași ordine.

(1 6 8 5 3) - Din nou, mutând o poziție spre dreapta, comparația are loc între 8 și 5. Numărul 5 este deplasat spre stânga, deoarece este mai mic decât 8.

(1 6 5 8 3) - Aici comparația are loc între numerele 8 și 3. Numărul 3 este deplasat la stânga, deoarece este mai mic decât 8.

(1 6 5 3 8) - Acesta este rezultatul final al comenzii după prima iterație.

A doua iterație

Întrucât numerele nu sunt încă în ordine în creștere, programul merge pentru a doua iterație.

(1 6 5 3 8) - Aici comparația începe din nou din primele două cifre ale rezultatului de la prima iterație. Compara numerele 1 și 6 și păstrează aceeași ordine, deoarece 1 este mai mic decât 6.

(1 6 5 3 8) - Aici sunt comparate numerele 5 și 6. Aceeași comandă este păstrată, deoarece este deja în ordinea în creștere necesară.

(1 5 6 3 8) - Aici comparația are loc între numerele 6 și 3. Numărul 3 este deplasat spre stânga, deoarece este mai mic decât 6.

(1 5 3 6 8) - Următoarele numere 6 și 8 sunt comparate între ele. Aceeași comandă este păstrată ca și în ordinea preconizată.

(1 5 3 6 8) - Acesta este rezultatul final după a doua iterație. Cu toate acestea, putem observa că cifrele nu sunt complet aranjate în ordinea lor în creștere. Totuși, trebuie să schimbăm numerele 5 și 3 pentru a obține rezultatul final. Prin urmare, programul este pentru a treia iterație.

A treia iterație

(1 5 3 6 8) - a treia iterație începe prin compararea primelor două cifre 1 și 5. Deoarece ordinea este așa cum era de așteptat, se păstrează aceeași.

(1 5 3 6 8) - Următoarele sunt comparate numerele 3 și 5 adiacente. Deoarece 5 este mai mare decât 3, este mutat în partea dreaptă.

(1 3 5 6 8) - Iterația continuă să compare numerele 5 și 6, 6 și 8. Întrucât este în ordinea necesară, păstrează ordinea.

(1 3 5 6 8) - În sfârșit, iterația este oprită pe măsură ce programul parcurge compararea fiecărui element adiacent și constată că toate cifrele sunt în ordine crescătoare.

Întrucât aici erau doar 5 elemente ale unui tablou care trebuiau sortate, au fost necesare 3 iterații în total. Pe măsură ce elementele din tablă cresc, cantitatea de iterații crește și ea.

Implementare Sortare Bubble folosind Java

Mai jos este codul Java care este implementarea algoritmului de sortare Bubble. (Rețineți că prima poziție a unui tablou în Java începe de la 0 și continuă în pași de 1 adică tablou (0), tablou (1), tablou (2) și continuă.)

Cod:

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

ieşire:

Avantajele și dezavantajele sortării bulelor în Java

Mai jos sunt diferite avantaje și dezavantaje ale sortării cu bule în Java:

avantaje

  1. Codul este foarte ușor de scris și de înțeles. De obicei durează doar câteva minute.
  2. Implementarea este, de asemenea, foarte ușoară.
  3. Sortarea cu bule sortează numerele și le păstrează în memorie, astfel încât economisește multă memorie.

Dezavantaje

  1. Acest algoritm nu este potrivit pentru seturi de date mari, deoarece comparația durează mult timp. Timpul necesar pentru a sorta numerele de intrare crește exponențial.
  2. O (n 2) este complexitatea medie a bulei de sortare și O (n) este cea mai bună complexitate a cazurilor (cel mai bun caz este atunci când elementele sunt sortate în primul rând) unde n este numărul de elemente.

Aplicații în timp real

Deoarece Bubble sort este capabil să detecteze erori minute în sortare, este utilizat în grafică computerizată. De asemenea, este utilizat în algoritmul de umplere a poligonului, unde căptușeala vertexurilor poligonului trebuie să fie sortate.

Concluzie

În acest articol, am văzut cum funcționează algoritmul de sortare Bubble și cum poate fi implementat cu ajutorul programării Java. Sortul cu bule este un algoritm foarte stabil, care poate fi implementat cu ușurință pentru seturi de date relativ mici. Este un caz de algoritm de comparație și este utilizat de novici datorită simplității sale.

Articole recomandate

Acesta este un ghid pentru Bubble Sort în Java. Aici discutăm mai multe iterații pentru a efectua sortarea de bule în java și implementarea codului său, împreună cu avantaje și dezavantaje. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Sortare cu bule în JavaScript
  2. Sortare în R
  3. Arrayuri 3D în Java
  4. Arătări în C #
  5. Sort de bule în Python