Ako vykonať zlúčenie zoradenia v Jave?



Tento článok o zlúčení v Jave vám pomôže pochopiť, ako pomocou príkladného programu zoradiť zoznam prvkov pomocou zlúčenia.

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. .

Poďme začať!





Č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

Zlúčiť Triediť - Edureka

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 i

Výkon:
Zoradené pole
jeden
4
17
22
2. 3
40
Štyri, päť
51
55
90

Takto 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.