Fórum - miestnosť f; r nápady
Čo je efektívnejšie?

Čo je efektívnejšie?
Príspevok od deung »Pon 10. decembra 2012 18:46
Nedávno sme na informačnej hodine mali za úlohu pripraviť program pre vzdorovanie strave.
Program by mal vypočítať trvanie procesu chudnutia, ak stratíte 2% svojej telesnej hmotnosti týždenne.
Pretože som chcel byť so svojím susedom obzvlášť inteligentný, samozrejme sme to celé videli ako exponenciálnu funkciu a mysleli sme si toto.
Re: čo je efektívnejšie?
Príspevok od cloidnerux »Po 10. decembra 2012 19:14
Na to nemôžeš takto odpovedať. Problém je v tom, ako kompilátor/tlmočník kóduje.
Tu sme testovali kód proti sebe: http: //www.proggen.org/doku.php? Id = project: wordcount
Výsledkom bolo, že som napísal kód, ktorý kompilátor implementoval tak dobre, a to aj bez ďalších optimalizácií, že patril medzi prvé tri, zatiaľ čo „optimalizovaný“ kód bol pomalší.
Samozrejme môžete zhruba odhadnúť, ako dlho niečo bude trvať. Vaše riešenie s logaritmom má takmer konštantnú dobu chodu bez ohľadu na počet. Smyčka bude trvať čoraz dlhšie, pretože sa rozdiel medzi počiatočnou a konečnou hmotnosťou zvyšuje, a poskytuje iba presné stanovenie jedného týždňa.
Ale bez ohľadu na runtime, vidím riešenie s logaritmom ako rozumnejší prístup, pretože nie sú absolútne potrebné žiadne slučky a logaritmus funguje lepšie, najmä pre veľké počty.
Okrem toho ste tiež poskytli dôkaz o správnosti svojho výsledku.