Už ste niekedy počuli o výraze „Rozdeľ a panuj“? Tento článok je celkom konkrétne založený na tomto prístupe. Zlúčiť zoradenie je algoritmus „rozdeľuj a panuj“, kde najskôr rozdelíme problém na podproblémy a potom ich spojíme, aby sme prekonali naše riešenie. Tu je kompletný prehľad konceptu zlúčenia a splynutia v J. .
Čo je to druh zlučovania v Jave?
Zlúčenie je jedným z populárnych triediace algoritmy k dispozícii a sleduje prístup rozdelenia a panovania. Problém je rozdelený na čiastkové problémy a spojené dohromady, aby sa dosiahlo konečné riešenie!
Čo sa presne stane počas práce pri zlúčení? Poďme to pochopiť podrobne.
Fungovanie zlúčenia
Počas procesu nasleduje zlučovanie podľa dvoch krokov:
- Rozdeliť: V tomto kroku je vstupné pole rozdelené na 2 polovice, otočný bod je stredom poľa. Tento krok sa vykonáva rekurzívne pre všetky polovičné polia, kým už nie sú k dispozícii ďalšie polovičné polia na ďalšie rozdelenie.
- Dobyť: V tomto kroku triedime a zlúčime rozdelené polia zdola nahor a dosiahneme smerom k nášmu zoradenému poľu.
Tento prístup vám pomôže ľahko najprv triediť čiastkové časti problémov a tým dospieť k riešeniu.
Ukážem vám obrázkové znázornenie zlúčenia.
Príklad: Diagram
Tu ste videli, ako vyzerá zlučovanie. Hlavným konceptom zlúčenia je to, že jeho triedenie trvá menej času. Teraz sa posúvame k našej implementačnej časti!
čo je uviaznutie v Jave
Implementácia
balík MyPackage verejná trieda 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] pre (int i = 0 iVýkon:
Zoradené pole
jeden
4
17
22
2. 3
40
Štyri, päť
51
55
90Takto vyzerá kód Java znázorňujúci zlúčenie. Postupujeme smerom k ďalšiemu segmentu.
Zložitosť
Zložitosť je rozdelená na dva typy: časová zložitosť a vesmírna zložitosť. V prípade zlúčenia podľa druhu sú údaje uvedené nižšie:
Zložitosť Najlepší prípad
Priemerný prípad
V najhoršom prípade
Časová zložitosť
O (n log n)
O (n log n)
O (n log n)
Zložitosť vesmíru
-
soľnička vs bábka vs kuchár-
O (n)
Týmto zakončím tento článok. Dúfam, že vyššie vysvetlený obsah dodal vašim znalostiam jazyka Java pridanú hodnotu. Budeme spolu naďalej objavovať svet Jávy. Zostaňte naladení!
Pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je určený pre študentov a profesionálov, ktorí chcú byť vývojármi Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v Jave a naučil vás základné aj pokročilé koncepty Javy spolu s rôznymi rámcami Java, ako je Hibernate & Spring.
Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto „ Zlúčiť triedenie v Jave ”Blog a my sa vám ozveme čo najskôr.