bubble sort java java sorting algorithms code examples
Ta vadnica bo razložila razvrstitev mehurčkov v Javi skupaj z glavnim algoritmom razvrščanja Java, izvajanjem razvrščanja mehurčkov in primeri kode:
Algoritem za razvrščanje lahko definiramo kot algoritem ali postopek za postavitev elementov zbirke v določen vrstni red. Če imate na primer številsko zbirko, kot je ArrayList celih števil, potem boste morda želeli razporediti elemente ArrayList v naraščajočem ali padajočem vrstnem redu.
Podobno boste morda želeli razporediti nize nizov po abecedi ali leksikografskem vrstnem redu. Tu se pojavijo algoritmi za razvrščanje v Javi.
dvojno povezani seznami c ++
Kaj se boste naučili:
Glavni algoritmi za razvrščanje v Javi
Algoritme za razvrščanje se običajno oceni glede na časovno in prostorsko zapletenost. Java podpira različne algoritme za razvrščanje, ki se uporabljajo za razvrščanje ali urejanje zbirk ali podatkovnih struktur.
Spodnja tabela prikazuje glavne algoritme za razvrščanje, ki jih podpira Java, skupaj z njihovimi najboljšimi / najslabšimi primeri.
Časovna zapletenost | ||||
---|---|---|---|---|
Radix Razvrsti | Algoritem linearnega razvrščanja. | O (nk) | O (nk) | O (nk) |
Algoritem za razvrščanje | Opis | Najboljši primer | V najslabšem primeru | Povprečen primer |
Razvrstitev mehurčkov | Trenutni element večkrat primerja s sosednjimi elementi. Na koncu vsake ponovitve se najtežji element napihne na svojem pravem mestu. | O (n) | O (n ^ 2) | O (n ^ 2) |
Razvrstitev vstavka | Vsak element zbirke vstavi na svoje mesto. | O (n) | O (n ^ 2) | O (n ^ 2) |
Združi razvrsti | Sledi pristopu ločitve in osvajanja. Zbirko razdeli na preprostejše podzbirke, jih razvrsti in nato vse združi | O (nlogn) | O (nlogn) | O (nlogn) |
Hitro razvrščanje | Najučinkovitejša in optimizirana tehnika razvrščanja. Za razvrščanje zbirke uporablja razdeli in osvoji. | O (nlogn) | O (n ^ 2) | O (nlogn) |
Razvrsti razvrstitev | Poišče najmanjši element v zbirki in ga postavi na svoje mesto na koncu vsake ponovitve | O (N ^ 2) | O (N ^ 2) | O (N ^ 2) |
Razvrsti kup | Elementi so razvrščeni tako, da zgradite min kup ali največ kup. | O (nlogn) | O (nlogn) | O (nlogn) |
Poleg tehnik razvrščanja iz zgornje tabele Java podpira tudi naslednje tehnike razvrščanja:
- Razvrsti vedro
- Razvrščanje štetja
- Razvrstitev lupine
- Razvrsti glavnik
Toda te tehnike se v praksi uporabljajo zmerno, zato te tehnike ne bodo del te serije.
Pogovorimo se o tehniki razvrščanja mehurčkov v Javi.
Razvrsti mehurčke v Javi
Bubble sort je najpreprostejša tehnika razvrščanja v Javi. Ta tehnika razvrsti zbirko tako, da večkrat primerja dva sosednja elementa in jih zamenja, če nista v želenem vrstnem redu. Tako se na koncu ponovitve najtežji element napihne, da zahteva svoj pravični položaj.
Če je na seznamu A n elementov, podanih z A (0), A (1), A (2), A (3),… .A (n-1), se A (0) primerja z A (1 ), A (1) se primerja z A (2) itd. Po primerjavi, če je prvi element večji od drugega, se elementa zamenjata, če nista v redu.
Algoritem razvrščanja mehurčkov
Splošni algoritem za tehniko razvrščanja po mehurčkih je podan spodaj:
Korak 1: Za i = 0 do N-1 ponovite 2. korak
2. korak: Za J = i + 1 do N - ponavljam
3. korak: če je A (J)> A (i)
Zamenjaj A (J) in A (i)
(Konec notranje for zanke)
(Konec, če zunanja zanka)
4. korak: Izhod
Zdaj na ilustrativnem primeru predstavimo tehniko razvrščanja mehurčkov.
Vzamemo niz velikosti 5 in ponazorimo algoritem za razvrščanje mehurčkov.
Razvrsti polje s pomočjo mehurčka
Naslednji seznam je treba razvrstiti.
vprašanja in odgovori za intervju z analitikom za kakovost pdf
Kot lahko vidite zgoraj, je polje v celoti razvrščeno.
Zgornjo ponazoritev lahko povzamemo v tabelarni obliki, kot je prikazano spodaj:
Mimo | Nerazvrščen seznam | primerjava | Razvrščen seznam |
---|---|---|---|
{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} | RAZREDJENO |
Kot je prikazano v zgornjem primeru, največji element z vsako ponovitvijo / prehodom mehurčka do svojega pravilnega položaja. Na splošno, ko pridemo do N-1 (kjer je N skupno število elementov na seznamu), preide; celoten seznam bomo razvrstili.
Primer kode za razvrščanje mehurčkov
Spodnji program prikazuje izvajanje Java algoritma za razvrščanje mehurčkov. Tu vzdržujemo polje števil in uporabljamo dve zanki za prehod skozi sosednje elemente polja. Če dva sosednja elementa nista v redu, se zamenjata.
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)); } }
Izhod:
Prvotna matrika: (23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80)
Razvrščeno polje: (9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84, 96)
Pogosto zastavljena vprašanja
V # 1) Kakšni so algoritmi za razvrščanje v Javi?
Odgovor: Algoritem za razvrščanje lahko definiramo kot algoritem ali postopek, s katerim lahko elemente v zbirki razvrstimo ali razporedimo na želeni način.
Spodaj je nekaj algoritmov za razvrščanje, ki jih podpira Java:
- Razvrstitev mehurčkov
- Razvrstitev vstavka
- Razvrstitev izbora
- Razvrsti združitev
- Quicksort
- Sorta Radix
- Heapsort
V # 2) Kateri algoritem za razvrščanje je najboljši v Javi?
Odgovor: Merge Sort naj bi bil najhitrejši algoritem za razvrščanje v Javi. Dejansko je Java 7 za izvajanje metode Collections.sort () interno uporabila sortiranje merge. Hitro razvrščanje je tudi še en najboljši algoritem za razvrščanje.
3. vprašanje) Kaj je Bubble sort v Javi?
Odgovor: Bubble sort je najpreprostejši algoritem v Javi. Bubble sort vedno primerja dva sosednja elementa na seznamu in jih zamenja, če nista v želenem vrstnem redu. Tako se na koncu vsake ponovitve ali prehoda najtežji element prepihne na svoje mesto.
V # 4) Zakaj je Bubble vrsta Ndva?
Odgovor: Za izvedbo razvrščanja mehurčkov uporabimo dva za zanke.
kako zagnati datoteke .swf
Skupno opravljeno delo se meri z:
Količina dela, ki ga opravi notranja zanka * skupno število ponovitev zunanje zanke.
Za seznam n elementov notranja zanka deluje za O (n) za vsako ponovitev. Zunanja zanka teče za ponovitev O (n). Zato je skupno opravljeno delo O (n) * O (n) = O (ndva)
V # 15) Kakšne so prednosti sorte Bubble?
Odgovor: Prednosti razvrščanja mehurčkov so naslednje:
- Enostavno kodiranje in razumevanje.
- Za izvajanje algoritma je potrebnih nekaj vrstic kode.
- Razvrščanje se opravi na mestu, tj. Dodaten pomnilnik ni potreben in s tem ni dodatnih stroškov.
- Razvrščeni podatki so takoj na voljo za obdelavo.
Zaključek
Doslej smo razpravljali o algoritmu za razvrščanje po mehurčkih v Javi. Raziskali smo tudi algoritem in podrobno ponazoritev razvrščanja polja s pomočjo Bubble Sort Technique. Nato smo program Java implementirali v Bubble Sort.
V naslednji vadnici bomo nadaljevali z drugimi tehnikami razvrščanja v Javi.
=> Tukaj preverite VSE Vadnice za Java.
Priporočeno branje
- Razvrščanje razvrščanja v Javi - Algoritem razvrščanja izbir in primeri
- Razvrstitev vstavitve v Javi - Algoritem razvrščanja vstavkov in primeri
- Razvrstitev mehurčkov v jeziku C ++ s primeri
- Kako razvrstiti polje v Javi - Vadnica s primeri
- Vadnica za dolžino polja Java s primeri kode
- Metoda sortiranja () MongoDB () s primeri
- Ukaz za razvrščanje Unix s sintakso, možnostmi in primeri
- Java 'this' ključna beseda: Vadnica s primeri kode