bubble sort java java sorting algorithms code examples
In deze zelfstudie wordt het sorteren van bellen in Java uitgelegd, samen met het belangrijkste Java-sorteeralgoritme, de implementatie van bellen sorteren en codevoorbeelden:
Een sorteeralgoritme kan worden gedefinieerd als een algoritme of een procedure om elementen van een collectie in een specifieke volgorde te plaatsen. Als u bijvoorbeeld een numerieke verzameling heeft, zoals een ArrayList met gehele getallen, dan wilt u misschien de elementen van ArrayList in oplopende of aflopende volgorde rangschikken.
Evenzo zou je strings van een stringcollectie in alfabetische of lexicografische volgorde kunnen rangschikken. Dit is waar de sorteeralgoritmen in Java in beeld komen.
hoe je een torrent-bestand gebruikt na het downloaden
Wat je leert:
Grote sorteeralgoritmen in Java
Sorteeralgoritmen worden meestal geëvalueerd afhankelijk van de complexiteit van tijd en ruimte. Java ondersteunt verschillende sorteeralgoritmen die worden gebruikt om de collecties of datastructuren te sorteren of ordenen.
De onderstaande tabel toont de belangrijkste sorteeralgoritmen die in Java worden ondersteund, samen met hun best / worst-case-complexiteit.
Tijdscomplexiteit | ||||
---|---|---|---|---|
Radix Sorteren | Lineair sorteeralgoritme. | O (nk) | O (nk) | O (nk) |
Sorteeralgoritme | Omschrijving | Beste geval | Het slechtste geval | Gemiddeld geval |
Bubble Sorteren | Vergelijkt het huidige element herhaaldelijk met aangrenzende elementen. Aan het einde van elke iteratie wordt het zwaarste element op de juiste plaats opgeblazen. | Aan) | O (n ^ 2) | O (n ^ 2) |
Invoegsortering | Voegt elk element van de collectie op de juiste plaats in. | Aan) | O (n ^ 2) | O (n ^ 2) |
Samenvoegen Sorteren | Het volgt de verdeel en heers-benadering. Verdeelt de collectie in eenvoudiger deelcollecties, sorteert ze en voegt alles samen | O (nlogn) | O (nlogn) | O (nlogn) |
Snel sorteren | Meest efficiënte en geoptimaliseerde sorteertechniek. Gebruikt verdeel en heers om de collectie te sorteren. | O (nlogn) | O (n ^ 2) | O (nlogn) |
Selectie sorteren | Vindt het kleinste element in de verzameling en plaatst het op de juiste plaats aan het einde van elke iteratie | O (N ^ 2) | O (N ^ 2) | O (N ^ 2) |
Heap Sorteren | Elementen worden gesorteerd op min heap of max heap bouwen. | O (nlogn) | O (nlogn) | O (nlogn) |
Naast de sorteertechnieken die in de bovenstaande tabel worden gegeven, ondersteunt Java ook de volgende sorteertechnieken:
- Emmer sorteren
- Tellen Sorteren
- Shell Sorteren
- Kam Sorteren
Maar deze technieken worden spaarzaam gebruikt in praktische toepassingen, dus deze technieken zullen geen deel uitmaken van deze serie.
Laten we de Bubble Sort-techniek in Java bespreken.
Bellen sorteren in Java
Bubbelsortering is de eenvoudigste van alle sorteertechnieken in Java. Deze techniek sorteert de collectie door twee aangrenzende elementen herhaaldelijk te vergelijken en ze te verwisselen als ze niet in de gewenste volgorde staan. Dus aan het einde van de iteratie wordt het zwaarste element opgeblazen om zijn rechtmatige positie op te eisen.
Als er n elementen in lijst A staan gegeven door A (0), A (1), A (2), A (3),… .A (n-1), dan wordt A (0) vergeleken met A (1 ), A (1) wordt vergeleken met A (2) enzovoort. Na vergelijking als het eerste element groter is dan het tweede, worden de twee elementen verwisseld als ze niet in orde zijn.
Bubble Sort-algoritme
Het algemene algoritme voor Bubble Sort Technique wordt hieronder gegeven:
Stap 1: Herhaal stap 2 voor i = 0 tot N-1
Stap 2: Voor J = i + 1 tot N - herhaal ik
Stap 3: als A (J)> A (i)
Wissel A (J) en A (i) om
(Einde van Inner for loop)
(End if Outer for loop)
Stap 4: Uitgang
Laten we nu de Bubble Sort-techniek demonstreren aan de hand van een illustratief voorbeeld.
We nemen een array van maat 5 en illustreren het algoritme voor het sorteren van bellen.
Sorteer een array met behulp van bellen sorteren
De volgende lijst moet worden gesorteerd.
welke van de volgende zaken is geen voorwaarde om een testcase te beschrijven?
Zoals je hierboven kunt zien, is de array volledig gesorteerd.
De bovenstaande illustratie kan in tabelvorm worden samengevat, zoals hieronder weergegeven:
Slagen voor | Ongesorteerde lijst | vergelijking | Gesorteerde lijst |
---|---|---|---|
{3,6,11,4,15} | {11.4} | {3,6,4,11,15} | |
een | {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} | |
twee | {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} | GESORTEERD |
Zoals in het bovenstaande voorbeeld wordt getoond, borrelt het grootste element bij elke iteratie / pas naar zijn juiste positie. In het algemeen, wanneer we N-1 bereiken (waarbij N een totaal aantal elementen in de lijst is) passeert; we hebben de hele lijst gesorteerd.
Bubble Sort Code Voorbeeld
Het onderstaande programma toont de Java-implementatie van het bubbelsorteeralgoritme. Hier behouden we een reeks getallen en gebruiken we twee for-lussen om door aangrenzende elementen van de reeks te lopen. Als twee aangrenzende elementen niet in orde zijn, worden ze verwisseld.
Uitgang:
Oorspronkelijke reeks: (23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80)
Gesorteerde reeks: (9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84, 96)
Veel Gestelde Vragen
V # 1) Wat zijn de sorteeralgoritmen in Java?
Antwoord: Het sorteeralgoritme kan worden gedefinieerd als een algoritme of procedure waarmee de elementen in een verzameling op een gewenste manier kunnen worden geordend of gerangschikt.
Hieronder staan enkele van de sorteeralgoritmen die in Java worden ondersteund:
- Bubble Sorteren
- Invoegsortering
- Selectie sorteren
- Sorteer samenvoegen
- Snel sorteren
- Radix sorteren
- Heapsort
Vraag 2 Wat is het beste sorteeralgoritme in Java?
Antwoord: Merge Sort zou het snelste sorteeralgoritme in Java moeten zijn. In feite heeft Java 7 intern samenvoegsortering gebruikt om de methode Collections.sort () te implementeren. Quick Sort is ook een ander best sorteeralgoritme.
Vraag 3 Wat is bellen sorteren in Java?
Antwoord: Bubble sort is het eenvoudigste algoritme in Java. Bubble sort vergelijkt altijd twee aangrenzende elementen in de lijst en verwisselt ze als ze niet in de gewenste volgorde staan. Dus aan het einde van elke iteratie of passage, wordt het zwaarste element naar zijn juiste plaats geborreld.
Vraag 4 Waarom is Bubble sort Ntwee
Antwoord: Voor het implementeren van bubbelsortering gebruiken we twee for-loops.
karakter naar int c ++
Het totale verrichte werk wordt gemeten door:
Hoeveelheid werk gedaan door binnenste lus * totaal aantal keren dat de buitenste lus loopt.
Voor een lijst met n elementen werkt de binnenste lus voor O (n) voor elke iteratie. De buitenste lus loopt voor O (n) iteratie. Daarom is het totale werk dat is gedaan O (n) * O (n) = O (ntwee
Vraag 15 Wat zijn de voordelen van bellen sorteren?
Antwoord: Voordelen van Bubble Sort zijn als volgt:
- Gemakkelijk te coderen en te begrijpen.
- Er zijn maar weinig regels code nodig om het algoritme te implementeren.
- Het sorteren gebeurt ter plaatse, d.w.z. dat er geen extra geheugen nodig is en dus geen geheugenoverhead.
- De gesorteerde gegevens zijn direct beschikbaar voor verwerking.
Gevolgtrekking
Tot dusver hebben we het sorteeralgoritme Bubble Sort in Java besproken. We hebben ook het algoritme en de gedetailleerde illustratie van het sorteren van een array met behulp van de Bubble Sort-techniek onderzocht. Vervolgens hebben we het Java-programma geïmplementeerd in de Bubble Sort.
In de volgende tutorial gaan we verder met de andere sorteertechnieken in Java.
Bekijk hier ALLE Java-tutorials.
Aanbevolen literatuur
- Selectie sorteren in Java - Selectie sorteeralgoritme en voorbeelden
- Invoegsortering in Java - Invoegsorteeralgoritme en voorbeelden
- Bubbelsortering in C ++ met voorbeelden
- Hoe een array in Java te sorteren - Tutorial met voorbeelden
- Zelfstudie over Java-array-lengte met codevoorbeelden
- MongoDB Sort () -methode met voorbeelden
- Unix-sorteeropdracht met syntaxis, opties en voorbeelden
- Java 'dit' trefwoord: zelfstudie met codevoorbeelden