ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Adatszerkezet - Wikipédia

Adatszerkezet

A Wikipédiából, a szabad enciklopédiából.

Adatszerkezetnek nevezzük a (számítógépes adafeldolgozás céljaira előállított) adatok tárolási célokat szolgáló strukturális, formai elrendezését.

A binary tree, egyszerű bináris faszerkezet összekapcsolt adatok tárolására.
A binary tree, egyszerű bináris faszerkezet összekapcsolt adatok tárolására.

A számítástechnikaban, az adatszerkezet az adatok számítógépben való tárolása olyan módon, mely biztosítja azok hatékony használatát. Sokszor egy körültekintően megválasztott adatszerkezet hatékonyabb algoritmusok használatát teszi lehetővé. Az adatszerkezet megválasztása gyakran egy megfelelő absztrakt adatszerkezet megválasztásával kezdődik. A jól megtervezett adatszerkezet számos kritikus művelet végrehajtását teszi lehetővé a lehető legkisebb erőforrásigény – futamidő, tárolóterület – mellett. Az adatszerkezet megvalósítása adattípusok, hivatkozások és egy programnyelv által bitosított, rajtuk elvégzett műveletek felhasználásával történik.

A különböző adatszerkezetek más-más alkalmazásoknál használhatók, közülük némely nagy mértékben bizonyos feladatokra specializált. Például a B-fa különösen jól alkalmazható adatbázisok megvalósítására, míg a irányítótábla (routing table) számítógépek hálózatának működését szabályozza.

Számos programtípus tervezésénél az adatszerkezet megválasztása elsődleges tervezési szempont, mivel a nagy rendszerek kifejlesztésében szerzett tapasztalatok azt mutatják, hogy a megvalósítás nehézsége, és a végeredmény teljesítménye és minősége nagy mértékben a legmegfelelőbb adatszerkezet kiválasztásától függ. Az adatszerkezet megálasztása után már gyakran viszonylag egyértelmű a használandó algoritmus. Van amikor a dolgok fordítva működnek – azért választunk bizonyos adatszerkezetet, mert bizonyos kulcsfeladatok olyan algoritmussal rendelkeznek melyek különleges adatszerkezettel adják a legjobb eredményt.

Ez a felsimerés számos olyan formalizált tervezési módszer, programozási nyelv születését hívta elő, amelyekben az adatszerkezet, és nem az algoritmus a szervező kulcstényező. A legtöbb programnyelvre jellemző valamilyen modul rendszer készlet, mely az adaszerkezetek különböző alkalmazásokban való biztonságos újrafelhasználását teszi lehetővé azáltal, hogy azok ellenőrzött megvalósításának (implementáció) részleteit a vezérelt interfész modul mögött rejti el. Az objektum-orientált programozási nyelvek, mint pl. a C++ és a Java erre a célra főleg osztályokat használnak.

Mivel a professzionális programok számára az adatszerkezetek nagyon fontosak, közülük sokat széles körben támogatnak a modern programozási nyelvek és fejlesztői környezetek szabványos könyvtárai, mint például a C++ Szabványos Sablonkönyvtára (Standard Template Library), a Java Alkalmazásfejlesztői Interfész (API) (Application Programming Interface), és a Microsoft .NET framework.

A legtöbb adatszerkezet építőkövei a tömbök, rekordok, változó rekordok, és hivatkozások. Például a nullképes hivatkozás, egy olyan hivatkozás amely lehet akár nullértékű is, a hivatkozások és a változó rekordok egy kombinációja, a legegyszerűbb láncolt adatszerkezet pedig, a láncolt lista, rekordokból és nullképes hivatkozásokból épül fel.

Vita van arról, hogy az adatszerkezetek vajon a program megvalótását (implementáció) képviselik, vagy csak illesztőegységet (interfész) jelentenek. Ennek eldöntése nézőpont kérdése. Az adatszerekezeteket tekinthetjük úgy, mint két függvény közötti interfész, vagy mint egy módszer olyan tár kezelésének megvalósítására, amely a vonatkozó adattípus szerint van szervezve.

[szerkesztés] Lásd még

[szerkesztés] Külső hivatkozások


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -