Skip to content

Mona Gadgets

Here we go

miten yhdistää kaksi lajiteltua ryhmää Javassa

Posted on 30 huhtikuun, 2021 By admin Ei kommentteja artikkeliin miten yhdistää kaksi lajiteltua ryhmää Javassa
  • Johdanto
  • ongelma
  • algoritmi
  • Implementation
  • Complexity
  • johtopäätös

Johdanto

tässä opetusohjelmassa aiomme oppia yhdistämään kaksi lajiteltua ryhmää yhdeksi lajitelluksi ryhmäksi.

ongelma

ymmärretään ongelma. Meillä on kaksi lajiteltua ryhmää, ja haluaisimme yhdistää ne yhdeksi.

Merge Lajitellut ryhmät

algoritmi

kun analysoimme ongelmaa, on melko helppo havaita, että voimme ratkaista tämän ongelman käyttämällä Merge Sort-yhdistämisoperaatiota.

sanotaan, että meillä on kaksi lajiteltua arrays foo ja bar Pituus fooLength ja barLength, vastaavasti. Seuraava, voimme julistaa Toisen array yhdistetty koko typeryys + barLength.

meidän pitäisi sitten kulkea molemmat taulukot samassa silmukassa. Säilytämme jokaisen indeksiarvon, fooPosition ja barPosition. On tietyn iteraation meidän silmukka, otamme kumpi array on pienempi-arvostettu Elementti niiden indeksi ja etukäteen, että indeksi. Tämä elementti miehittää seuraavan aseman yhdistetyssä array.

lopuksi, kun olemme siirtäneet kaikki elementit yhdestä matriisista, kopioimme loput toisesta yhdistettyyn matriisiin.

nyt katsotaan prosessi kuvina, jotta algoritmia voidaan ymmärtää paremmin.

Vaihe 1:

aloitamme vertaamalla molempien ryhmien alkuaineita, ja valitsemme pienemmän.

Merge Arrays First Step

Then we increase the position in the first array.

Vaihe 2:

Merge Arrays Second Step

tässä kasvatetaan paikkaa toisessa ryhmässä ja siirrytään seuraavaan elementtiin, joka on 8.

Vaihe 3:
Merge Arrays Third Step

tämän iteraation lopussa olemme läpikäyneet kaikki ensimmäisen rivin elementit.

Vaihe 4:

tässä vaiheessa kopioimme vain kaikki jäljellä olevat alkuaineet toisesta matriisista tulokseksi.

Merge Arrays Fourth Step

Implementation

nyt katsotaan, miten se toteutetaan:

public static int merge(int foo, int bar) { int fooLength = foo.length; int barLength = bar.length; int merged = new int; int fooPosition, barPosition, mergedPosition; fooPosition = barPosition = mergedPosition = 0; while(fooPosition < fooLength && barPosition < barLength) { if (foo < bar) { merged = foo; } else { merged = bar; } } while (fooPosition < fooLength) { merged = foo; } while (barPosition < barLength) { merged = bar; } return merged;}

ja jatketaan lyhyellä testillä:

@Testpublic void givenTwoSortedArrays_whenMerged_thenReturnMergedSortedArray() { int foo = { 3, 7 }; int bar = { 4, 8, 11 }; int merged = { 3, 4, 7, 8, 11 }; assertArrayEquals(merged, SortedArrays.merge(foo, bar));}

Complexity

kuljemme molempien ryhmien läpi ja valitsemme pienemmän elementin. Loppujen lopuksi kopioimme loput elementit foo: sta tai bar array: sta. Joten aika monimutkaisuus tulee O (fooLength + barLength). Olemme käyttäneet varajärjestelmää saadaksemme tuloksen. Joten avaruuden monimutkaisuus on myös O (fooLength + barLength).

johtopäätös

tässä opetusohjelmassa opimme yhdistämään kaksi lajiteltua ryhmää yhdeksi.

Articles

Artikkelien selaus

Previous Post: 6 suurelle hiihtoalueelle Seattlen lähellä
Next Post: naimisissa olevalle vanhemmalle: miksi puolison on tultava ensin

More Related Articles

7 Ikonisinta Michael Jordanin ottelua Koripallohistoriassa Articles
Kurt Cobain Death, Bio, Age, Height, Net Worth, Family, Wiki Articles
Dr. Paul Jarrod Frank Articles
Meet Kinilaw – Filippiiniläistyylinen ceviche Articles
lasitettu savukinkku Articles
mitä on naisten sukupuolielinten silpominen? Vastaukset seitsemään kysymykseen Articles

Vastaa Peruuta vastaus

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Viimeisimmät artikkelit

  • Miksi en voi tehdä omaa moottoria?
  • Morgantown, underground: 5 parasta löytämätöntä paikkaa WV: n vilkkaimmassa yöelämässä
  • Son of Superman
  • Magic Johnson, Isiah Thomas Reconcile NBA TV-haastattelussa keskinäisen vihamielisyyden jälkeen
  • 7 innovatiivista robotiikan osaketta, joita voi ostaa tulevia voittoja varten

Arkistot

  • tammikuu 2022
  • joulukuu 2021
  • marraskuu 2021
  • lokakuu 2021
  • syyskuu 2021
  • elokuu 2021
  • heinäkuu 2021
  • kesäkuu 2021
  • toukokuu 2021
  • huhtikuu 2021
  • maaliskuu 2021
  • helmikuu 2021
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • NorskNorsk
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語
  • 한국어한국어

Copyright © 2022 Mona Gadgets.

Powered by PressBook Blog WordPress theme