Mely egyforma elemekből álló adatszerkezeten lehet leggyorsabban műveleteket végezni? (statikus tömb, rekordokból álló tömb, packed record, . )?
Milyen egyforma elemekből álló adatszerkezet a leggyorsabb akkor, ha elemein sok műveletvégzés történik? Azt tudom, hogy a dinamikus tömb sokkal-sokkal lassabb a statikus tömbnél. Gondolok itt például arra, hogy elemekkel való műveletvégzés, elemek cseréje. Pascal-ban van "packed record" is, ezt még nem ismerem behatóbban.
Pascal és C nyelven érdekelne olyan egyforma elemekből álló adatszerkezet, mely a leggyorsabb.
Nem tudom meghatározható -e hogy adott adatszerkezet elemei egységnyi idő alatt milyen gyorsan érhetőek el.
Attól függ mik a műveletek.
Általában nincs minden szempontból jobb megoldás.
Mivel egy adott műveletre választunk adatszerkezetet, ezért erre nem egészen lehet válaszolni. C/C++-ban minden adatszerkezet mögött vagy egy láncolt lista, vagy egy tömb áll.
Ha az elérés sebességére gondolsz, akkor érdemesebb inkább azt vizsgálni, hova allokálódott a változód: stack, heap, static. Ha az elérést maximalizálni szeretnéd, akkor el kell kerülnöd a pointer indirekciót, tehát ne rakd a heapre (new kulcsszó). Azonban ezt értelmetlen vizsgálni. Egyrészt ahol nincs szükség dinamikus tömbre, ott általában az ember nem is használ. Másrészt nem annyira számottevő a különbség, hogy emiatt logikátlan, bonyolult, és nehezebben olvasható kódot írj.
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!