Ste že kdaj slišali za izraz 'Divide and Conquer'? Ta članek povsem natančno temelji na tem pristopu. Združi razvrsti je algoritem »deli in osvoji«, pri katerem najprej razdelimo problem na podprobleme in jih nato združimo, da osvojimo svojo rešitev. Tu je popoln pregled pojma združevanja v J .
Kaj je združevanje v Javi?
Razvrščanje med spajanjem je eno izmed priljubljenih algoritmi za razvrščanje na voljo in sledi pristopu ločitve in osvajanja. Problem je razdeljen na podprobleme in kombiniran, da se doseže končna rešitev!
Zdaj, kaj natančno se zgodi med delovanjem združevanja? Razumejmo podrobno.
Delo z združevanjem
Med postopkom sledita dva koraka:
- Razdeli: V tem koraku je vhodna matrika razdeljena na 2 polovici, pivot je srednja točka matrike. Ta korak se izvaja rekurzivno za vse polovične nize, dokler ni več polovičnih nizov, ki bi jih lahko še delili.
- Osvoji: V tem koraku razvrščamo in združimo razdeljena polja od spodaj navzgor in sežemo do našega razvrščenega polja.
Ta pristop vam pomaga, da najprej enostavno razvrstite poddelove težav in tako poiščete rešitev.
Naj vam pokažem slikovni prikaz vrste spajanja.
ustvari niz predmetov
Primer: Diagram
Tu ste videli, kako izgleda sortiranje. Glavni koncept razvrščanja med spajanjem je, da za razvrščanje traja manj časa. Zdaj pa k našemu izvedbenemu delu!
Izvajanje
paket MyPackage javni razred MergeSort {void merge (int arr [], int beg, int mid, int end) {int l = mid - beg + 1 int r = end - mid int LeftArray [] = new int [l] int RightArray [] = nov int [r] za (int i = 0 iIzhod:
Razvrščeno polje
eno
4.
17.
22.
2. 3
40
Štiri, pet
51
55
90Tako je videti koda Java, ki prikazuje združevanje. Nadaljujemo proti naslednjemu segmentu.
Kompleksnost
Kompleksnost je razdeljena na dva tipa: časovna kompleksnost in vesoljska kompleksnost. V primeru razvrščanja z združitvijo so podatki naslednji:
Kompleksnost Najboljši primer
Povprečen primer
V najslabšem primeru
Zapletenost časa
niz do datuma pretvori v javiO (n log n)
O (n log n)
O (n log n)
Zapletenost prostora
-
-
spajanje razvrščanje c ++ izvedbaO (n)
S tem bom zaključil ta članek. Upam, da je zgoraj pojasnjena vsebina dodala vrednost vašemu znanju Java. Še naprej bomo skupaj raziskovali svet Jave. Ostani na vezi!
Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je namenjen študentom in strokovnjakom, ki želijo biti razvijalec Java. Tečaj je zasnovan tako, da vam omogoči uvod v programiranje Java in vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi Java okviri, kot so Hibernate & Spring
Imate vprašanje za nas? Prosimo, navedite to v oddelku za komentarje tega Združi razvrstitev v Javi ”Blog in se vam bomo javili v najkrajšem možnem času.