bubble sort java java sorting algorithms code examples
Ovaj će vodič objasniti sortiranje mjehurića na Javi, zajedno s glavnim algoritmom za sortiranje Jave, primjenom sortiranja mjehurića i primjerima koda:
Algoritam sortiranja može se definirati kao algoritam ili postupak za stavljanje elemenata zbirke u određeni redoslijed. Na primjer, ako imate numeričku zbirku poput ArrayList cijelih brojeva, tada biste mogli rasporediti elemente ArrayList u rastućem ili silaznom redoslijedu.
Slično tome, možda ćete htjeti složiti nizove zbirke nizova po abecednom ili leksikografskom redoslijedu. Tu se pojavljuju algoritmi za sortiranje u Javi.
životni ciklus razvoja sustava vodopada
Što ćete naučiti:
Glavni algoritmi za sortiranje u Javi
Algoritmi sortiranja obično se procjenjuju ovisno o složenosti vremena i prostora. Java podržava razne algoritme za sortiranje koji se koriste za sortiranje ili uređivanje zbirki ili struktura podataka.
Tablica u nastavku prikazuje glavne algoritme za sortiranje podržane u Javi, kao i njihove složenosti u najboljem / najgorem slučaju.
Složenost vremena | ||||
---|---|---|---|---|
Radix Sortiraj | Algoritam linearnog sortiranja. | O (nk) | O (nk) | O (nk) |
Algoritam sortiranja | Opis | Najbolji slučaj | Najgori slučaj | Prosječan slučaj |
Razvrstavanje mjehurića | Više puta uspoređuje trenutni element sa susjednim elementima. Na kraju svake iteracije najteži element napuhne se na odgovarajuće mjesto. | Na) | O (n ^ 2) | O (n ^ 2) |
Sortiranje umetanja | Umeće svaki element zbirke na svoje mjesto. | Na) | O (n ^ 2) | O (n ^ 2) |
Spoji sortiranje | Slijedi pristup podijeli i osvoji. Zbirku dijeli na jednostavnije podzbirke, razvrstava ih, a zatim spaja sve | O (nlogn) | O (nlogn) | O (nlogn) |
Brzo sortiranje | Najučinkovitija i optimizirana tehnika sortiranja. Koristi podijeli i osvoji za sortiranje kolekcije. | O (nlogn) | O (n ^ 2) | O (nlogn) |
Sortiranje odabira | Pronalazi najmanji element u zbirci i postavlja ga na svoje mjesto na kraju svake iteracije | O (N ^ 2) | O (N ^ 2) | O (N ^ 2) |
Sortiranje po hrpi | Elementi se sortiraju gradeći minimalnu hrpu ili maksimalnu hrpu. | O (nlogn) | O (nlogn) | O (nlogn) |
Osim tehnika sortiranja danih u gornjoj tablici, Java podržava i sljedeće tehnike sortiranja:
- Sortiraj kantu
- Brojanje Sortiraj
- Sortiranje školjke
- Sortiraj češalj
Ali ove se tehnike rijetko koriste u praktičnoj primjeni, stoga ove tehnike neće biti dio ove serije.
Razgovarajmo o tehnici sortiranja mjehurića na Javi.
Razvrstavanje mjehurića na Javi
Bubble sort je najjednostavnija od svih tehnika sortiranja na Javi. Ova tehnika sortira zbirku ponavljajući usporedbu dva susjedna elementa i zamjenu ako nisu u željenom redoslijedu. Dakle, na kraju iteracije, najteži element napuhne se da zatraži svoj pravi položaj.
Ako na popisu A ima n elemenata danih od A (0), A (1), A (2), A (3),… .A (n-1), tada se A (0) uspoređuje s A (1 ), A (1) uspoređuje se s A (2) i tako dalje. Nakon usporedbe ako je prvi element veći od drugog, tada se dva elementa zamijene ako nisu u redu.
Algoritam sortiranja mjehurića
Općeniti algoritam za tehniku sortiranja mjehurića dan je u nastavku:
Korak 1: Za i = 0 do N-1 ponovite 2. korak
Korak 2: Za J = i + 1 do N - ponavljam
Korak 3: ako je A (J)> A (i)
Zamijenite A (J) i A (i)
(Kraj unutarnje for petlje)
(Kraj ako je vanjska petlja za)
Korak 4: Izlaz
Sada demonstriramo Tehniku sortiranja mjehurića na ilustrativnom primjeru.
Uzmemo niz veličine 5 i ilustriramo algoritam sortiranja mjehurića.
Poredaj niz pomoću mjehurića sortiranja
Sljedeći popis treba sortirati.
youtube to mp4 converter online besplatno bez preuzimanja
Kao što vidite gore, niz je u potpunosti sortiran.
Gornja ilustracija može se sažeti u tabličnom obliku kako je prikazano dolje:
Proći | Nesortirani popis | usporedba | Poredani popis |
---|---|---|---|
{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} | |
dva | {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} | UREDJENO |
Kao što je prikazano u gornjem primjeru, najveći element pri svakoj iteraciji / prolazu mjehuriće se u svoj pravilan položaj. Općenito, kada dođemo do N-1 (gdje je N ukupan broj elemenata na popisu) prolazi; dat ćemo sortiranje cijelog popisa.
Primjer koda za sortiranje mjehurića
Program u nastavku prikazuje Java implementaciju algoritma za mjehuriće. Ovdje održavamo niz brojeva i koristimo dva for petlje za prolazak kroz susjedne elemente niza. Ako dva susjedna elementa nisu u redu, tada se zamjenjuju.
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)); } }
Izlaz:
Izvorni niz: (23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80)
Sortirani niz: (9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84, 96)
Često postavljana pitanja
P # 1) Koji su algoritmi za sortiranje u Javi?
Odgovor: Algoritam sortiranja može se definirati kao algoritam ili postupak pomoću kojeg se elementi u zbirci mogu poredati ili rasporediti na željeni način.
Dolje su dati neki od algoritama za sortiranje koji su podržani u Javi:
- Razvrstavanje mjehurića
- Sortiranje umetanja
- Sortiranje odabira
- Spajanje sortiraj
- Quicksort
- Sorta Radix
- Heapsort
P # 2) Koji je najbolji algoritam sortiranja u Javi?
Odgovor: Merge Sort trebao bi biti najbrži algoritam za sortiranje u Javi. Zapravo, Java 7 interno je upotrijebila sortiranje spajanja za provedbu metode Collections.sort (). Brzo sortiranje također je još jedan od najboljih algoritama za sortiranje.
3. pitanje) Što je Bubble sort u Javi?
Odgovor: Bubble sort je najjednostavniji algoritam na Javi. Razvrstavanje mjehurića uvijek uspoređuje dva susjedna elementa na popisu i zamjenjuje ih ako nisu u željenom redoslijedu. Tako se na kraju svake iteracije ili prolaska najteži element mjehuriće na svoje odgovarajuće mjesto.
P # 4) Zašto je mjehurić vrsta Ndva?
Odgovor: Za provedbu sortiranja mjehurića koristimo dvije for petlje.
char u int u c ++
Ukupni obavljeni posao mjeri se:
Količina posla obavljena unutarnjom petljom * ukupan broj pokretanja vanjske petlje.
Za popis od n elemenata, unutarnja petlja radi za O (n) za svaku iteraciju. Vanjska petlja radi za O (n) iteraciju. Stoga je ukupni obavljeni posao O (n) * O (n) = O (ndva)
P # 15) Koje su prednosti sorte mjehurića?
Odgovor: Prednosti sortiranja mjehurića su sljedeće:
- Jednostavno kodiranje i razumijevanje.
- Za implementaciju algoritma potrebno je nekoliko redaka koda.
- Razvrstavanje se vrši na mjestu, tj. Nije potrebna dodatna memorija, a samim time i nenaplata memorije.
- Razvrstani podaci odmah su dostupni za obradu.
Zaključak
Do sada smo razgovarali o algoritmu sortiranja mjehurića na Javi. Također smo istražili algoritam i detaljnu ilustraciju sortiranja niza pomoću Bubble Sort tehnike. Zatim smo implementirali Java program u Bubble Sort.
U sljedećem uputstvu nastavit ćemo s ostalim tehnikama sortiranja u Javi.
=> Ovdje provjerite SVE Java tutorijale.
Preporučena literatura
- Sortiranje odabira na Javi - Algoritam sortiranja odabira i primjeri
- Sortiranje umetanja u Javi - Algoritam sortiranja umetanja i primjeri
- Razvrstavanje mjehurića na C ++ s primjerima
- Kako sortirati niz u Javi - Vodič sa primjerima
- Vodič za dužinu Java polja s primjerima koda
- MongoDB metoda sortiranja () s primjerima
- Unix naredba za sortiranje sa sintaksom, opcijama i primjerima
- Java 'this' ključna riječ: Vodič sa primjerima koda