bubble sort java java sorting algorithms code examples
Denne vejledning forklarer boblesorteringen i Java sammen med større Java-sorteringsalgoritme, boblesorteringsimplementering og kodeeksempler:
En sorteringsalgoritme kan defineres som en algoritme eller en procedure til at placere elementer i en samling i en bestemt rækkefølge. For eksempel, hvis du har en numerisk samling som en ArrayList af heltal, vil du måske arrangere elementerne i ArrayList i stigende eller faldende rækkefølge.
På samme måde vil du måske arrangere strenge i en strengesamling i alfabetisk eller leksikografisk rækkefølge. Det er her, sorteringsalgoritmerne i Java kommer ind i billedet.
hvad er den bedste spion-app
Hvad du lærer:
Større sorteringsalgoritmer i Java
Sorteringsalgoritmer evalueres normalt afhængigt af tid og rums kompleksitet. Java understøtter forskellige sorteringsalgoritmer, der bruges til at sortere eller arrangere samlinger eller datastrukturer.
Tabellen nedenfor viser de vigtigste sorteringsalgoritmer, der understøttes i Java sammen med deres bedste / worst-case kompleksitet.
Tidskompleksitet | ||||
---|---|---|---|---|
Radix Sort | Lineær sorteringsalgoritme. | O (nk) | O (nk) | O (nk) |
Sorteringsalgoritme | Beskrivelse | Bedste tilfælde | Værste tilfælde | Gennemsnitlig sag |
Boblesortering | Sammenligner det aktuelle element gentagne gange med tilstødende elementer. I slutningen af hver iteration bobles det tungeste element op på det rette sted. | På) | O (n ^ 2) | O (n ^ 2) |
Indsats sortering | Indsætter hvert element i samlingen på det rette sted. | På) | O (n ^ 2) | O (n ^ 2) |
Flet sortering | Det følger tilgangen mellem kløft og erobring. Opdeler samlingen i enklere undersamlinger, sorterer dem og fletter derefter alt sammen | O (nlogn) | O (nlogn) | O (nlogn) |
Hurtig sortering | Mest effektive og optimerede sorteringsteknik. Bruger opdele og erobre for at sortere samlingen. | O (nlogn) | O (n ^ 2) | O (nlogn) |
Valg Sort | Finder det mindste element i samlingen og placerer det på det rette sted i slutningen af hver iteration | O (N ^ 2) | O (N ^ 2) | O (N ^ 2) |
Heap Sort | Elementer sorteres efter bygning af min bunke eller max bunke. | O (nlogn) | O (nlogn) | O (nlogn) |
Bortset fra sorteringsteknikkerne i ovenstående tabel understøtter Java også følgende sorteringsteknikker:
- Bucket Sort
- Tællesortering
- Shell Sort
- Kombesortering
Men disse teknikker bruges sparsomt i praktiske anvendelser, så disse teknikker vil ikke være en del af denne serie.
Lad os diskutere Bubble Sort Technique i Java.
Boblesortering i Java
Boblesortering er den enkleste af alle sorteringsteknikker i Java. Denne teknik sorterer samlingen ved gentagne gange at sammenligne to tilstødende elementer og bytte dem, hvis de ikke er i den ønskede rækkefølge. Således, i slutningen af iteration, bliver det tungeste element boblet op for at kræve sin retmæssige position.
Hvis der er n elementer i liste A givet af A [0], A [1], A [2], A [3],… .A [n-1], sammenlignes A [0] med A [1 ], A [1] sammenlignes med A [2] og så videre. Efter sammenligning om det første element er større end det andet, byttes de to elementer, hvis de ikke er i orden.
Bubble Sort Algorithm
Den generelle algoritme for Bubblesorteringsteknik er angivet nedenfor:
Trin 1: For i = 0 til N-1 gentages trin 2
Trin 2: For J = i + 1 til N - gentager jeg
Trin 3: hvis A [J]> A [i]
Byt A [J] og A [i]
[End of Inner for loop]
[Afslut hvis ydre til løkke]
Trin 4: Afslut
Lad os nu demonstrere Bubblesorteringsteknikken ved hjælp af et illustrativt eksempel.
Vi tager en matrix af størrelse 5 og illustrerer algoritmen til sortering af boble.
Sorter en matrix ved hjælp af boblesortering
Følgende liste skal sorteres.
java programmering interview spørgsmål og svar til freshers
Som du kan se ovenfor, er arrayet helt sorteret.
Ovenstående illustration kan opsummeres i tabelform som vist nedenfor:
Passere | Usorteret liste | sammenligning | Sorteret liste |
---|---|---|---|
{3,6,11,4,15} | {11.4} | {3,6,4,11,15} | |
1 | {11, 3, 6,15,4} | {11.3} | {3,11,6,15,4} |
{3,11,6,15,4} | {11.6} | {3,6,11,15,4} | |
{3,6,11,15,4} | {11.15} | {3,6,11,15,4} | |
{3,6,11,15,4} | {15.4} | {3,6,11,4,15} | |
to | {3,6,11,4,15} | {3,6} | {3,6,11,4,15} |
{3,6,11,4,15} | {6.11} | {3,6,11,4,15} | |
3 | {3,6,4,11,15} | {3,6} | {3,6,4,11,15} |
{3,6,4,11,15} | {6.4} | {3,4,6,11,15} | |
{3,4,6,11,15} | SORTERET |
Som vist i ovenstående eksempel, bobler det største element op til sin rette position med hver iteration / pasning. Når vi når N-1 (hvor N er et samlet antal elementer på listen) passerer generelt; vi får sorteret hele listen.
Eksempel på boblesorteringskode
Nedenstående program viser Java-implementeringen af boblesorteringsalgoritmen. Her opretholder vi en række tal og bruger to til løkker til at krydse gennem tilstødende elementer i arrayet. Hvis to tilstødende elementer ikke er i orden, byttes de.
import java.util.*; class Main{ // Driver method to test above public static void main(String args[]) { //declare an array of integers int intArray[] = {23,43,13,65,11,62,76,83,9,71,84,34,96,80}; //print original array System.out.println('Original array: ' + Arrays.toString(intArray)); int n = intArray.length; //iterate over the array comparing adjacent elements for (int i = 0; i intArray[j+1]) { int temp = intArray[j]; intArray[j] = intArray[j+1]; intArray[j+1] = temp; } //print the sorted array System.out.println('Sorted array: ' + Arrays.toString(intArray)); } }
Produktion:
Oprindelig matrix: [23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80]
Sorteret matrix: [9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84, 96]
Ofte stillede spørgsmål
Q # 1) Hvad er sorteringsalgoritmerne i Java?
Svar: Sorteringsalgoritmen kan defineres som en algoritme eller procedure, hvorved elementerne i en samling kan bestilles eller arrangeres på en ønsket måde.
Nedenfor er nogle af de sorteringsalgoritmer, der understøttes i Java:
- Boblesortering
- Indsættelse sortering
- Valg sortering
- Flet sortering
- Quicksort
- Radix-sortering
- Heapsort
Q # 2) Hvad er den bedste sorteringsalgoritme i Java?
Svar: Merge Sort formodes at være den hurtigste sorteringsalgoritme i Java. Faktisk har Java 7 internt brugt merge sort til at implementere Collections.sort () metoden. Hurtig sortering er også en anden bedste sorteringsalgoritme.
Q # 3) Hvad er Bubblesortering i Java?
Svar: Boblesortering er den enkleste algoritme i Java. Boblesortering sammenligner altid to tilstødende elementer på listen og bytter dem, hvis de ikke er i den ønskede rækkefølge. Således, i slutningen af hver iteration eller pasning, bobles det tungeste element op til sit rette sted.
Q # 4) Hvorfor er Bubble sort Nto?
Svar: Til implementering af boblesortering bruger vi to til løkker.
bedste app til at downloade youtube-videoer
Det samlede udførte arbejde måles ved:
Mængde arbejde udført med indre sløjfe * samlet antal gange den ydre sløjfe kører.
For en liste over n elementer fungerer den indre sløjfe for O (n) for hver iteration. Den ydre sløjfe kører for O (n) iteration. Derfor er det samlede udførte arbejde O (n) * O (n) = O (nto)
Q # 15) Hvad er fordelene ved boble-sortering?
Svar: Fordelene ved boblesortering er som følger:
- Let at kode og forstå.
- Få kodelinjer er nødvendige for at implementere algoritmen.
- Sorteringen foretages på stedet, dvs. yderligere hukommelse er ikke påkrævet og dermed ingen hukommelsesomkostninger.
- De sorterede data er umiddelbart tilgængelige til behandling.
Konklusion
Indtil videre diskuterede vi sorteringsalgoritmen Bubble Sort i Java. Vi undersøgte også algoritmen og detaljeret illustration af sortering af en matrix ved hjælp af Bubble Sort Technique. Derefter implementerede vi Java-programmet til Bubble Sort.
I den næste vejledning fortsætter vi med de andre sorteringsteknikker i Java.
=> Tjek ALLE Java-tutorials her.
Anbefalet læsning
- Selektionssortering i Java - Valgsorteringsalgoritme og eksempler
- Insertion Sort In Java - Insertion Sort Algorithm & Eksempler
- Boblesortering i C ++ med eksempler
- Sådan sorteres en matrix i Java - vejledning med eksempler
- Java Array Length Tutorial med kodeeksempler
- MongoDB Sort () metode med eksempler
- Unix sorteringskommando med syntaks, indstillinger og eksempler
- Java 'dette' Nøgleord: Vejledning med kodeeksempler