Kaip atlikti „Java“ suliejimo rūšiavimą?

Šis straipsnis apie „Java“ sujungimo rūšiavimą padės jums suprasti, kaip surūšiuoti elementų sąrašą naudojant suliejimo rūšiavimą programos pavyzdžio pagalba.

Ar kada girdėjote apie terminą „Skaldyk ir užkariauk“? Šis straipsnis gana konkrečiai pagrįstas šiuo požiūriu. Sujungti rūšiuoti yra „padalink ir užkariauk“ algoritmas, kai pirmiausia problemą padalijame į subproblemas, o tada sujungiame jas, kad užkariautume mūsų sprendimą. Čia pateikiama išsami J jungimo rūšies sampratos apžvalga .

Pradėkime!



Kas yra „Java“ sujungimo rūšiavimas?

Sujungti rūšiavimas yra vienas iš populiariausių rūšiavimo algoritmai prieinama ir tai vadovaujasi skaldymo ir užkariavimo požiūriu. Problema yra suskirstyta į sub-problemas ir sujungiama kartu, kad būtų pasiektas galutinis sprendimas!

Kas tiksliai vyksta sujungiant rūšiuoti? Leiskite mums suprasti išsamiai.

Sujungimo rūšiavimo darbas

Proceso metu atliekami du sujungimo rūšys:

  • Padalinti: Šiame žingsnyje įvesties masyvas yra padalintas į 2 puses, pasukimas yra masyvo vidurio taškas. Šis žingsnis atliekamas rekursyviai visoms pusei masyvo, kol nebeliks pusiau masyvų, kurie galėtų dalytis toliau.
  • Užkariauti: Šiame žingsnyje mes rūšiuojame ir sujungiame padalintus masyvus iš apačios į viršų ir pasiekiame savo surūšiuotą masyvą.

Šis metodas padeda jums lengvai rūšiuoti pirmąsias problemų dalis ir taip rasti sprendimą.

Leiskite jums parodyti vaizdinį sujungimo rūšies vaizdą.

Pavyzdys: schema

Sujungti rūšiuoti - „Edureka“

Čia pamatėte, kaip atrodo sujungimo rūšis. Pagrindinė sujungimo rūšiavimo koncepcija yra ta, kad rūšiavimas užtrunka mažiau laiko. Dabar einame link mūsų įgyvendinimo dalies!

Įgyvendinimas

paketas „MyPackage“ viešosios klasės „MergeSort“ {negaliojantis sujungimas (int arr [], int begimas, int vidurys, int pabaiga) {int l = mid - beg + 1 int r = end - mid int LeftArray [] = new int [l] int RightArray [] = naujas int [r], skirtas (int i = 0 i

Išvestis:
Surūšiuotas masyvas
vienas
4
17
22
2. 3
40
Keturi, penki
51
55
90

Taip atrodo „Java“ kodas, vaizduojantis sujungimo rūšį. Judama link kito segmento.

Sudėtingumas

Sudėtingumas yra padalintas į du tipus: laiko sudėtingumą ir erdvės sudėtingumą. Sujungimo rūšiavimo atveju duomenys yra tokie, kaip parodyta žemiau:

fibonacci kodas c ++
Sudėtingumas

Geriausias atvejis

Vidutinis atvejis

Blogiausiu atveju

Laiko kompleksiškumas

O (n log n)

pitonas konvertuoti dešimtainį skaičių į dvejetainį

O (n log n)

O (n log n)

Erdvės sudėtingumas

-

-

O (n)

Tuo baigsiu šį straipsnį. Tikiuosi, kad aukščiau paaiškintas turinys pridėjo pridėtinės vertės jūsų „Java“ žinioms. Mes kartu tyrinėsime „Java“ pasaulį. Sekite naujienas!

Patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. „Edureka“ mokymai ir sertifikavimo kursai „Java J2EE“ ir „SOA“ skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žaisti „Java“ programavimą ir išmokyti pagrindinių bei pažangių „Java“ koncepcijų kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau paminėti tai komentarų skiltyje „ Sujungti rūšiuoti „Java“ Dienoraštį ir mes kuo greičiau susisieksime su jumis.