Forum » Programiranje » dinamicne podatkovne strukture
dinamicne podatkovne strukture
Blue22 ::
dinamične podatkovne strukture.. dynamic data structures.. a mi zna kdo razloziti kaj to je in cemu sluzi..
vse kar sem sam ugotovil je, da je ena izmed teh zadev tudi binarno drevo
link1
vse kar sem sam ugotovil je, da je ena izmed teh zadev tudi binarno drevo
link1
kurc kne vem kaj bi napisu
Vesoljc ::
pomnilnik!
ker ga je potrebno šparati, ga vzamemo toliko kot mislimo, da je optimalno. med samim delovanjem programa lahko tako pomnilnik zahtevamo (alociramo) ali sprostimo ("zbrišemo").
no podatki sami pa so ponavadi oblikovani v bloke spomina. odvisno od želj si izberemo "dinamično podatkovno strukturo".
recimo array (polje): če uporabljamo statični spomin, ga moramo alocirati ob samem štartu (ga bo zadosti, ga bo preveč?). dinamično pa ga lahko povečujemo/zmanjšujemo po potrebi.
druga stvar pa so zopet dostopni časi posameznih operacij (iskanje, brisanje, dodajanje, vrivanje, itd...). tukaj potem vstopijo "boljše" dps. kot seznami, hash, mape, drevesa, itd... ker recimo če hočeš vriniti pet elementov v array, moraš premikati vse, ki so za njimi (počasno). seznam pa recimo ni pomnilniška "celota" tako kot array v osnovi. vsak element ima naslov okoliških elementov (next, prev, parent, son, itd...). in ko vrinemo pet elementov, nam ostalih ni potrebno prestavljati - popravimo le naslove.
v temi c++ povezave, je link na free ebook (english) o točno tem. read and learn :)
ker ga je potrebno šparati, ga vzamemo toliko kot mislimo, da je optimalno. med samim delovanjem programa lahko tako pomnilnik zahtevamo (alociramo) ali sprostimo ("zbrišemo").
no podatki sami pa so ponavadi oblikovani v bloke spomina. odvisno od želj si izberemo "dinamično podatkovno strukturo".
recimo array (polje): če uporabljamo statični spomin, ga moramo alocirati ob samem štartu (ga bo zadosti, ga bo preveč?). dinamično pa ga lahko povečujemo/zmanjšujemo po potrebi.
druga stvar pa so zopet dostopni časi posameznih operacij (iskanje, brisanje, dodajanje, vrivanje, itd...). tukaj potem vstopijo "boljše" dps. kot seznami, hash, mape, drevesa, itd... ker recimo če hočeš vriniti pet elementov v array, moraš premikati vse, ki so za njimi (počasno). seznam pa recimo ni pomnilniška "celota" tako kot array v osnovi. vsak element ima naslov okoliških elementov (next, prev, parent, son, itd...). in ko vrinemo pet elementov, nam ostalih ni potrebno prestavljati - popravimo le naslove.
v temi c++ povezave, je link na free ebook (english) o točno tem. read and learn :)
Abnormal behavior of abnormal brain makes me normal...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kako rezervirati pomnilnik za neznano stevilo nizov?Oddelek: Programiranje | 965 (780) | smacker |
» | Za programerske teoretikeOddelek: Programiranje | 8815 (5617) | Jerry000 |
» | C# HashSet<T>, HashTable kako deluje iskanje v ozadju? a lahko faila?Oddelek: Programiranje | 1550 (1331) | detroit |
» | std containers vs. own custom containersOddelek: Programiranje | 3810 (3631) | Mmm'Aah |
» | [Java][Naloga] Seznam študentov, majčken problemOddelek: Programiranje | 2323 (2010) | VASkO |