Skip to content

Mona Gadgets

Here we go

hogyan lehet két rendezett tömböt egyesíteni a Java-ban

Posted on április 30, 2021 By admin Nincs hozzászólás a(z) hogyan lehet két rendezett tömböt egyesíteni a Java-ban bejegyzéshez
  • Bevezetés
  • probléma
  • algoritmus
  • végrehajtás
  • komplexitás
  • következtetés

Bevezetés

ebben az oktatóanyagban megtanuljuk, hogyan lehet két rendezett tömböt egyetlen rendezett tömbbe egyesíteni.

probléma

értsük meg a problémát. Van két rendezett tömbünk, és szeretnénk egyesíteni őket egybe.

rendezett tömbök egyesítése

algoritmus

amikor elemezzük a problémát, meglehetősen könnyű megfigyelni, hogy ezt a problémát az egyesítés Rendezés egyesítési műveletével oldhatjuk meg.

tegyük fel, hogy van két rendezett tömb foo és bar hosszúságú fooLength és barLength, illetőleg. Ezután kijelenthetjük, hogy egy másik tömb összeolvadt a fooLength + barLength méretével.

ezután mindkét tömböt ugyanabban a hurokban kell áthaladnunk. Megtartjuk az aktuális index értékét minden egyes, fooPosition és barPosition esetében. A ciklusunk egy adott iterációján azt a tömböt vesszük, amelynek indexénél a kisebb értékű elem van, és ezt az indexet továbbítjuk. Ez az elem az egyesített tömb következő pozícióját foglalja el.

végül, miután átvittük az összes elemet az egyik tömbből, átmásoljuk a többit a másikból az egyesített tömbbe.

most nézzük meg a folyamatot képekben, hogy jobban megértsük az algoritmust.

1. lépés:

azzal kezdjük, hogy összehasonlítjuk mindkét tömb elemeit, és kiválasztjuk a kisebbet.

tömbök egyesítése első lépés

ezután növeljük a pozíciót az első tömbben.

2.lépés:

tömbök egyesítése második lépés

itt növeljük a pozíciót a második tömbben, és továbblépünk a következő elemre, amely 8.

3. Lépés:
tömbök egyesítése harmadik lépés

Az iteráció végén az első tömb összes elemét bejártuk.

4. lépés:

ebben a lépésben csak átmásoljuk az összes többi elemet a második tömbből az eredményre.

tömbök egyesítése negyedik lépés

végrehajtás

most nézzük meg, hogyan kell végrehajtani:

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;}

és folytassuk egy rövid teszttel:

@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));}

komplexitás

mind a tömböket bejárjuk, mind a kisebb elemet választjuk. Végül átmásoljuk a többi elemet a foo-ból vagy a bar tömbből. Tehát az idő bonyolultsága O(bolondhossz + barLength) lesz. Egy segédtömböt használtunk az eredmény eléréséhez. Tehát a tér komplexitása is O(bolondhossz + barLength).

következtetés

ebben az oktatóanyagban megtanultuk, hogyan lehet két rendezett tömböt egybe egyesíteni.

Articles

Bejegyzés navigáció

Previous Post: 6 nagy sífutó területek közel Seattle
Next Post: a házas szülő: miért a házastárs, hogy jöjjön az első

More Related Articles

A görögök – Cleisthenes Articles
használja erős szándék, hogy legyen a hiteles legjobb Articles
az FDA jóváhagyja az IMLYGIC (Talimogene Laherparepvec) első onkolitikus Vírusterápiát az Egyesült Államokban Articles
Taraji P. Henson csak megfordult 50, és úgy néz ki, csodálatos több Bikini Instagram képek Articles
Ropogós sült göndör krumpli Articles
fűnyírószalag építése a gyephez: 1. rész Articles

Vélemény, hozzászólás? Kilépés a válaszból

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Legutóbbi bejegyzések

  • miért nem tudok saját motort készíteni?
  • Morgantown, underground: 5 legjobb felfedezetlen foltok WV legélénkebb éjszakai élet jelenet
  • Superman fia
  • Magic Johnson, Isiah Thomas összeegyeztetni NBA TV interjú után kölcsönös ellenséges
  • 7 innovatív robotika készletek vásárolni a jövőbeli nyereség

Archívum

  • 2022 január
  • 2021 december
  • 2021 november
  • 2021 október
  • 2021 szeptember
  • 2021 augusztus
  • 2021 július
  • 2021 június
  • 2021 május
  • 2021 április
  • 2021 március
  • 2021 február
  • 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