Mitől függ, hogy egy kód többet foglal, vagy hogy milyen gyorsan fut le?
Van egy feladat, amit el kell készíteni.
Ugyan azt a feladatot meg lehet csinálni hogy kisebb helyet foglaljon, meg lehet csinálni, hogy gyorsabban fusson le, és meg lehet csinálni, hogy a lehető legrövidebben írjuk meg.
Az én logikám szerint ha valaki a legkevesebb gépeléssel ír meg egy programot, akkor az a legkisebb méretű lesz, hiszen a legkevesebb karakter alkotja, illetve egy program lassabban fut le, ha nagyobb a mérete. Utánaolvastam és kiderült nem így van, de akkor mitől függ egy kód mérete? Mitől függ, hogy gyorsabban fut le? És hogy lehet 20 oldalnyi karakter kisebb méretű, mint 18 oldalnyi?
A nagyobb méret, gyorsabb lefutás, rövidebb megírás, jobb átláthatóság hogyan befolyásolja a dolgokat, egyik a másik rovására egy adott programnyelven belül?
Bár a leírásod alapján nem egyértelmű, de feltételezem, hogy itt a time és space complexity-re gondolnak.
"Ugyan azt a feladatot meg lehet csinálni hogy kisebb helyet foglaljon, meg lehet csinálni, hogy gyorsabban fusson le, és meg lehet csinálni, hogy a lehető legrövidebben írjuk meg"
Tehát itt a 3 eset szerintem:
- optimális space complexity
- optimális time complexity
- legrövidebb kód
Ezek közül sok esetben az egyik a másik rovására megy.
A program nem olyan mint egy könyv amit hamarabb olvasol el ha rövidebb (kevesebb szöveg).
Attól függ mit csinál.
Egy 3 soros program is futhat sokáig ha az pl. végtelen ciklus.
Általánosságban kijelkenthető, hogy adott feladat esetén a rövidebb (tömörebb) kód a jobb kód. De ez csak általánosságban igaz.
A lefordított, futtatható állomány és a forrás hossza között nincs egyenes arányosság.
A kód hosszát meghatározhatja külső körülmény is. Mondjuk, hogy mennyi az adott feladatra kiosztott memóriahely és processzoridő maximuma. Ahogy az első is említette: space or time complexity.
Ha mondjuk egy rendezést kell lefuttatni egy millió elemű adattömbön, akkor meghatározó a sebességre nézve a memória (space) igény, ami nyilván kihat a futásidőre (time) is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!