„Adatszerkezet” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
TXiKiBoT (vitalap | szerkesztései)
a Bot: következő hozzáadása: ca:Estructura de dades
Xqbot (vitalap | szerkesztései)
a Bot: következő módosítása: lv:Datu struktūras; kozmetikai változtatások
5. sor:
A [[számítástechnika|számítástechnikában]] 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]] [[algoritmus]]ok 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ípus]]ok, [[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áltságot támogató programozási nyelvek, mint például a [[C++]] és a [[Java (programozási nyelv)|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, [[rekord (számítástechnika)|rekordrekordok]]ok, [[discriminated union|változó rekordrekordok]]ok, és [[reference (computer science)|hivatkozáshivatkozások]]ok. 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.
 
== Lásd még ==
* [[Adatszerkezetek listája]]
* [[Persistent data structure]]
 
== Külső hivatkozások ==
* [http://nist.gov/dads/ Descriptions] from the [[Dictionary of Algorithms and Data Structures]]
* [http://hal9k.com/cug/links/subject39.htm Hivatkozások a C/C++ Felhasználói Csoportok oldalairól]
* [http://www.datastructures.info/books/ Collection of free Data structures e-books]
 
[[Kategória:Adatszerkezetek]]
45. sor:
[[ja:データ構造]]
[[ko:자료 구조]]
[[lv:Datu struktūrastruktūras]]
[[ml:ഡാറ്റാ സ്ട്രക്‌ച്ചര്‍]]
[[ms:Struktur data]]