A programozás egy olyan dolog, amit manapság nem lehet kikerülni és sokan érdeklődnek iránta. De teljesen laikus szintről hogyan kezdjen bele az ember? Hol talál érthető nyelven megírt programozási alapokat? Nekik szól ez a cikksorozat, melynek első részében egy nagyon egyszerű és alap-adatszerkezetet mutatok be – a tömb adatszerkezetet.
A tömb megértése nem bonyolult!
A tömb megértéséhez azt kell átlátni, hogyan működik a számítógép memóriája, és abban hogyan tárolja az „adatokat”. A legegyszerűbb, ha elképzelünk egy több fiókos szekrényt – mondjuk egy komódot. Minden egyes fiók egy címmel rendelkező tárolóegység, ahova bepakolhatjuk a dolgainkat.
Ha több olyan dolgot szeretnénk eltárolni a memóriában, amikben van valami közös, akkor érdemes őket úgynevezett gyűjteményként és nem egyenként kezelni. Az egyik ilyen gyűjtemény – vagy más néven adatstruktúra – a fentebb már említett tömb szerkezet.
A legfontosabb ennél az adatstruktúra típusnál, hogy az adatok a memóriában egymás után helyezkednek el. Ebből következik az is, hogy amennyiben a következő hely már foglalt másvalami által, akkor a tömbbe már nem tudunk új elemet hozzáadni. (Az egyszerűség kedvéért ezért mindig a tömb végére szúrjuk be az újabb elemet.)
Amennyiben mégis szeretnénk hozzáadni a tömbhöz még egy elemet, akkor muszáj a memóriában egy olyan hosszú üres sorozatot keresnünk, ahol ismét elférnek az elemek folytonosan egymás mellett. Ha találunk ilyet, akkor a már meglévő tömbben lévő elemeket átmásoljuk az új helyre, majd hozzáadhatjuk az újabb elemet.
Színház példa
Tegyük fel, hogy hárman szeretnénk elmenni színházba egy előadásra és egymás mellé szeretnénk ülni. A megoldás egyszerű, akkor keresünk három, egymás melletti szabad széket. Ám ha képbe kerül egy negyedik barát is, akkor ő már csak akkor fog tudni mellénk ülni, ha a szélén lévő barátunk után van még egy szabad szék. Ha nincs, akkor újra kell foglalnunk az üléseket egy olyan helyre, ahol van négy egymást követő üres szék.
Ennek az egyik megoldása az egy tömbstruktúra esetén, ha nagyobb méretű tömböt hozzunk létre, mint amire a létrehozás pillanatában szükségünk van – vagy a színházi példánál maradva, több egymás mellé szóló jegyet vásárolunk, mint ahányan eredetileg menni tervezünk.
Persze ennek a megoldásnak hátránya is van, hiszen ha nem használjuk fel mindegyik helyet, akkor erőforrást pazarlunk. A színházi esethez visszatérve, többet fizettünk, mint amennyit szükséges lett volna, és lesznek üres székek mellettünk – így előfordulhat, hogy lesznek olyan emberek is, akik a mi túlfoglalásunk miatt nem tudtak már jegyet váltani az előadásra, és ezért lemaradnak róla.
Megoldás lehet a fenti problémára egy másik adatszerkezetet, amit láncolt listának hívunk. Erről majd egy következő bejegyzésben írok.
Felhasznált irodalom:
Comments are closed.