Legjobb O komplexitás?
Az a feladat hogy sorban áll egymás mellett x darab ember akiknek ismert az életkoruk. Pontosan y darab lépést kell végrehajtanunk. Egy lépésben kiválasztunk egy embert a sor elejéről vagy a sor végéről és kivesszük a sorból. Az lépések végeztével a kivett emberek életkorát összeadjuk. Mennyi így a maximálisan elérhető összeg?
A sort egy tömb jelképezi ahol a tömb i-edik eleme az i-edik ember életkora. Maximum 100 000 ember állhat a sorban, egy ember maximum 100 éves lehet és y <= x.
Ha végigpróbálom a lehetséges elvételeket akkor ha jól számolok O(2^x) a komplexitás mert legrosszabb esetben x-szer választok 2 opció közül. Ezt mennyire lehet csökkenteni?
"Mármint min gondolkodsz? A kérdést már az első válaszoló megválaszolta."
A válaszon , a megoldáson gondolkodom.
Én olyan választ nem látok ami megválaszolná a kérdést. Mivel támasztja alá hogy létezik rá O(y) megoldás?
Szerintem belátható hogy ha nem vizsgálsz meg minimum y elemet akkor nem lehet megoldáshoz jutni, mert talán kihagyod pl. a legnagyobb elvehetőt. Ezt mondjuk egy rendezés megoldaná de akkor meg ugye semmiképpen nem lesz O(y)-nál jobb a komplexitás.
De lehet nincs igazam, ha találsz jobbat majd írd meg (ne a megoldást mert akkor megpróbálok arra is rájönni ha megvagyok az O(y)-al).
#1-es vagyok.
#15 nem értem pontosan, hogy mire vársz bizonyítékot.
Arra, hogy O(y)-nál nem érhető el jobb komplexitás, vagy arra, hogy elérhető O(y)?
Ha előbbi igaz lenne, azzal azt mondanád, hogy [1, 100] (vagy lehet 0 az alja, nem tudom) intervallumból kiválasztott y db random szám összegének kiszámításához nincs szükség mind az y szám ismeretére. Ez elég abszurd (de végülis meggyőzhető vagyok, legalább ma is tanulok valami újat).
O(y)-hoz meg egyszerűen csak implementálj egy O(y) megoldást. Elég triviális, nincs szükség hozzá semmi különleges adatstruktúrára vagy algoritmusra.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!