Hirdetés
- Jelentősen meglazítja a gyeplőt a Windows 11 frissítéseknél a Microsoft
- Fejhallgató erősítő és DAC topik
- Milyen TV-t vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Azonnali VGA-s kérdések órája
- VR topik
- Épített vízhűtés (nem kompakt) topic
- AMD Navi Radeon™ RX 9xxx sorozat
- Belehúz a kapacitásbővítésbe a TSMC
- Házimozi belépő szinten
-
PROHARDVER!

Új hozzászólás Aktív témák
-
Jim-Y
veterán
Sziasztok, egy egyszerű algoritmust kell implementálnom és érdekelne hogy van-e nagyságrendekkel jobb futásidejű megoldás mint amire gondoltam.
Feladat: vannak időben egymást követő események, A,B,C stb.. össze kell számolnom, hogy ezek közül melyek azok amik "futottak" majd átadták a futást, majd újból "futottak". Pl AABABCCD, ennek az eredménye az kell, hogy legyen, hogy A: igen, B: igen, C: nem, D: nem. Nem kell összeszámolni hogy sorozaton belül hányszor "mondtak" le a futásról majd megint futottak a lényeg, hogy egyszer lemondtak majd megint futottak. Remélem érthető.
Amit kitaláltam: Egyszer végigmenni a soron, illetve csinálni egy táblát ({ A: -, B: -, C: -, D - }) amibe gyűjtöm, hogy a bizonyos node-ok milyen állapotba kerültek a következő állapotokkal:
0: futott
1: lemondott a futásról
2: újra futottTehát szimulálva az algoritmust erre a sorra AABABCCD
1) A
{ A: 0, B: -, C: -, D - }2) A
{ A: 0->0, B: -, C: -, D - }3) B
{ A: 0->0->1, B: 0, C: -, D - }4) A
{ A: 0->0->1->2, B: 0->1, C: -, D - }5) B
{ A: 0->0->1->2, B: 0->1->2, C: -, D - }6) C
{ A: 0->0->1->2, B: 0->1->2, C: 0, D - }7) C
{ A: 0->0->1->2, B: 0->1->2, C: 0->0, D - }8) D
{ A: 0->0->1->2, B: 0->1->2, C: 0->0->1, D: 0 }És a végén megézem a táblában, hogy melyiknél van 2-es. Ez így O(n) futásidejű + a táblában a változtatások nem tudom, hogy ennél van-e jobb megoldás. Az implementálása ennek meg egyszerű.
Üdv és köszi
megj: ha valaki nagyon belejött, vagy ha az összkép segít egy hatékony(abb) algoritmus kitalálásában, akkor AABABCCD szerű sorból nem csak egy van, hanem N, és a feladatom, hogy minden A,B,C stb node-ra összesítve kiszámoljam hogy az N darab sorban hányszor "mondtak le a futásról". Nyílván így már a nagy algoritmus O(n*m)-es lesz de nem hiszem, hogy ezt meg lehetne úszni.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Yettel topik
- CADA, Polymobil, és más építőkockák
- Ubuntu Linux
- Nyíregyháza és környéke adok-veszek-beszélgetek
- sziku69: Fűzzük össze a szavakat :)
- Jelentősen meglazítja a gyeplőt a Windows 11 frissítéseknél a Microsoft
- Fejhallgató erősítő és DAC topik
- Vicces képek
- Luck Dragon: Asszociációs játék. :)
- Crimson Desert
- További aktív témák...
- Bomba ár! Lenovo X1 Carbon 7th - i5-8365U I 8GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Garancia!
- Ventilátor bazár /NZXT/CORSAIR/LIAN LI/DEEPCOOL/ZALMAN/120MM/140MM/VEZÉRLŐK/LED KIT-ek/
- GAMER PC! i7-10700F / RTX 3070 / B460-Plus / 16GB DDR4 / SSD 512GB / BeszámítOK!
- Keresünk iPhone 12/ 12 Mini/ 12 Pro/12 Pro Max
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen, MS4031
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


