datu-egitura

1. Inform.

Datu-bilduma bat antolatzeko era edo moduetako bakoitza, datuen erabilera eraginkorra lortzeko asmoz egina (biltegiratzea, sailkatzea, bilatzea...).

Datu-egitura nagusiak
Datu-egitura nagusiak

1. Inform.
Datu-bilduma bat antolatzeko era edo moduetako bakoitza, datuen erabilera eraginkorra lortzeko asmoz egina (biltegiratzea, sailkatzea, bilatzea...).

Datu-egitura Edit

Egilea: Montse Maritxalar

DATU-EGITURA

Antolatutako datu-bilduma gordetzen du datu-egiturak. Antolaketa irizpide kontzeptualaren araberakoa denean, informazioaren egitura logikoa hartzen da oinarri gisa. Adibidez, bitarrez idatzitako 1101 zenbakia 0 eta 1 digituez osatutako zenbaki-sekuentzia da ikuspuntu kontzeptualetik. Baina, 1101 zenbakia errepresentatzeko, zenbaki-sekuentzia gisa adierazi beharrean, mila, ehun eta bat zenbaki gisa gorde daiteke memorian. Beraz, egitura logikoak eta errepresentazio-egiturak ez dute zertan bat etorri. Dena den, ezin dugu ahaztu problema baten ebazpen-fasean erabakitzen diren errepresentazio-egiturek eragin handia izaten dutela algoritmoen efizientzian. Horregatik, datu-egituren erabakia funtsezkoa da programazioan.

Datu-egiturak barne-memorian zein kanpo-memorian definitzen dira. Kanpo-memoriaren kasuan, fitxategiak, esaterako, orrialdeen arabera antolatzen dira batzuetan, informazioaren atzipen eraginkorragoa izateko. Hala ere, datu-egiturei buruz aritzen garen gehienetan, barne-memoriako egiturei buruz aritzen gara. Egitura horiek datu heterogeneoek (mota desberdinekoak) edo homogeneoek (mota berekoak) osatzen dituzte. Egitura heterogeneoak inplementatzeko, datu-mota tipikoak erregistroak izan ohi dira; egitura homogeneoak inplementatzeko erabilienetakoak, berriz, arrayak. Bai erregistroak, bai arrayak, datu-mota estatikoak dira, behin aldagaiarentzako memoria erreserbatuta dagoenean, espazio horren tamaina aldaezina baita. Problema askotan, ordea, adierazi beharreko informazioaren tamaina aldakorra izaten da. Adibidez, zenbaki-sekuentzia bat ordenatu behar dugunean, gehienetan, ez dugu aldez aurretik zenbaki-kopurua ezagutzen. Zenbaki-sekuentzia hori memorian gordetzeko datu-egitura definitzeak egitura dinamikoa eskatzen du, hau da, memoria-espazioa behar ahala erreserbatzeko aukera. Egitura dinamiko horiek zerrenda estekatuen bitartez gauzatzen dira. Zerrenda osatzen duen nodo bakoitzak hurrengo nodorako erreferentzia gordetzen du, kateamendu bat sortuz. Egitura horietan, zerrendaren lehenengo nodoaren erreferentzia bakarrik izaten da normalean. Ondorioz, n-garren nodoa atzitu ahal izateko, aurreko n-1 nodoetatik pasatu beharra dago. Aldiz, ez da hori gertatzen arrayen kasuan (egitura estatikoa), non nodo bakoitzaren atzipena zuzena izaten baita.

Programazio-lengoaia bakoitzak datu-egituren inplementazioa nola egin behar den zehazten du, datu-mota bakoitzerako ezaugarriak zehaztuz. Programen diseinatzaileek, berriz, xehetasun horiek ahaztu, eta problema ebazteko behar diren datu-motak era abstraktuan definitzen dituzte. Errepresentazio abstraktu horretan, datu-motaren izena, mota horri dagozkion balioen multzoa eta eragiketak definitzen dira. Eragiketen bitartez, balioak sortu, kontsultatu eta aldatu egiten dira. Eragiketa horietako batzuk datu-motaren barne-gestiorako erabiltzen direnez, ez dira ikusgai izaten datu-motaren inplementaziotik kanpo. Beste batzuk, berriz, ikusgai izaten dira, eta datu-mota abstraktuaren interfaze deritze. Interfazea osatzen duten eragiketen bitartez, datu-mota horretako aldagaiak maneiatzen dituzte programek eta azpiprogramek, datu-motaren barne-inplementazioa ezagutu gabe. Ideia hori era desberdinean gauzatzen da programazio-lengoaia bakoitzean. Adaren kasuan, paketeen bitartez, eta objektuei zuzendutako programaziorako diseinatuta dauden Java eta C++ programazio-lengoaietan, berriz, klaseak erabiltzen dira datu-mota abstraktuen inplementaziorako.

Azkenik, gai honi bukaera ematerik ez dago datu-mota abstraktu ezagunenak aipatu gabe, multzoak, sekuentziak, zuhaitzak eta grafoak, hain zuzen ere. Multzoak inolako ordenarik ez duten osagai desberdinez osatzen dira. Sekuentziak, berriz, egitura linealak dira, beren osagaiek ordena bat jarraitzen dutelako. Zuhaitzek egitura hierarkiakoak definitzen dituzte. Eta grafoak erlazio anitzeko egiturak dira. Irudi honetan, era grafikoan ikusten dira lau datu-mota horien adibide bana.

grafikoak1

Datu-egitura nagusiak