Adatszerkezetek és algoritmusok nyelvén pascal

Adatszerkezetek és algoritmusok Pascal

Sorokat, kémények, kapcsolt listák és fák


Programok állnak algoritmusok és adatszerkezetek. Jó programok kihasználják mind a ketten. A kiválasztás és fejlesztés az adatszerkezet olyan fontos, mint a fejlesztési eljárások, amelyek manipulálják őket. információs szervezet és a hozzáférés módját ez általában természete határozza meg a problémája a programozó. Ezért minden programozónak kell adnunk a „poggyász” megfelelő módszerek bemutatása és az adatok visszanyerését, hogy lehet alkalmazni egy adott helyzetben.






Tény, hogy az adatstruktúra a számítógépes alapulnak alapvető adattípusok, mint például a „char”, „egész”, „igazi”. A következő szinten tömbök, amelyekben egymáshoz alaptípus. Aztán ott vannak feljegyzések, amelyek csoportjai adattípusok, amelyek hozzáférhetőek egy adat, és az utolsó szinten, ha nem foglalkozik a fizikai aspektusait adatok bemutatása, felhívjuk a figyelmet a sorrendben, amelyben az adatok tárolása és teszi kereshetővé. Lényegében fizikai társított adatokat a „gép adatok”, amely szabályozza az utat az információhoz való hozzáférés a programban. Jelenleg négy ilyen „gépek”:
  • elhelyezni;
  • verem;
  • láncolt lista;
  • bináris fa.

Mindegyik módszer megoldani bizonyos típusú problémák. Mindegyik módszer lényegében egyfajta „eszköz”, amely előre meghatározott információk egy adott módszer tárolására és kérésre végzi bizonyos adatok lehívása működését. A fenti módszerek mindegyike használ két művelet: egy elemet, és megtalálja az elem / elem érteni bizonyos információs egység /.


A sort egy lineáris adatok listája, amelyek elérhetők az elvet „első, first out” / néha rövidítve nevezik FIFO / hozzáférési mód. Olyan elem, amely először bevezetni, lesz az első kapott a keresést. Element várakozó második, a keresés fog kapni, mint a második, stb Ez a módszer az egyetlen a készítményben lévő elemek sorba, amikor keresi a sorban álló tételeket. Alkalmazás sorban nem teszik lehetővé a közvetlen hozzáférést valamely elemet.
A mindennapi életben gyakran vannak sorba. Például a sorban a bankban, vagy minden kávézók gyors szolgáltatás egy sorban a fenti értelemben / kivéve azokat az eseteket, amikor egy személy próbál szolgáltatást soron kívül! /. Annak érdekében, hogy jobban megértsék a feladatsor, úgy két eljárást: sorbanállási és lehívása a sorból. Ha a beállítás folyamatát a sor elem kerül a sorban. Amennyiben a mintavételi eljárást egy sorban annak első elem eltávolítjuk, ami annak az eredménye ezt az eljárást. A munka várakozási sor az 1. ábra szemlélteti. Emlékeztetni kell arra, hogy a minta a sorból az tényleg eltávolítja az egyik eleme. Ha ez az elem hová kell menteni, akkor később nem kell elvégezni hozzáférni.
1. ábra. Feladatsor: 1 - sorbanállási; 2 - egy mintát a sorban elemek A, B, C






Sorok programozás használják sok esetben, például ha modellezése (a későbbiekben a megfelelő fejezetben), a tervezési munka (PERT módszer vagy grafikus Gatta) az input-output pufferelés.
Példaként vegyünk egy egyszerű program tervezési előírások, amely lehetővé teszi a hozzáférést a számos szabályozás. Amikor belépünk egy recept lekerül a listáról, és megjeleníti a következő receptet. Az egyszerűség kedvéért a program használ egy sor karakterláncok ellenőrzésére eseményeket. Leírás recept legfeljebb 80 karakter, és a felírt receptek száma nem haladhatja meg a 100. Először is, ez a program kell a tervezés előírt beállítási eljárást a sorban, és a sorban mintavételi eljárást. Ezeket az eljárásokat az alábbiakban meghatározott, és megkapja a szükséges globális változók és adattípusok.
Az Ezen műveletek használ három globális változók: „SPOS”, amely tartalmazza az index a következő szabad elem; „RPO”, amely tartalmazza az index a következő választható elem és a „esemény”, amely egy sor karakterláncok leíró követelményeknek. Változók „SPOS” és „RPO” kell állítani nullára, mielőtt az első hívást az eljárásokat sorban és sorban kiválasztása.
Ebben a programban beállítás menete viszont hozza az új esemény a lista végére, és teszi ellenőrzések feltölti a listán. a sorból mintavételi funkciót választja eseményeket a sorból, ha szükséges kezelni őket. Amikor egy új rendezvény keretében kerül sor, „SPOS” változó értéke eggyel nő, és az esemény végén, a eggyel „RPO” változó. Tény, hogy a változó „RPO” folytat „SPOS” változó felváltva halad. Ezt a folyamatot a 2. ábra szemlélteti. Ha az érték a szabad hely mutató egybeesik az index értéke a kiválasztott elem, az azt jelenti, hogy nincsenek események a sorban. Emlékeztetni kell arra, hogy bár a mintavétel funkcionális elem a sorban valójában nem sérti az adatokat a sorban, a második az ahhoz való hozzáférés nem lehetséges, és valójában ez eltűnik.
Az alábbiakban a teljes program olyan egyszerű, mint a tervezés előírásoknak. Javíthatja ezt a programot a saját.

ciklusos helye

2 - Kommunikációs mutató;

1, az első új elem

1 törlése az első elem

6 törlése Közel pont

7. törlése esetén az utolsó pont

List a kettős kötés

1 Inserling Új első elem

1 törlése az első elem

6 törlése Közel pont

7. törlése esetén az utolsó pont


9. ábra. Egy elem törlése a listából egy kettős kötés: 1 - eltávolítása az első tag; 2 - információs mezők; 3 - bal oldali lista alakítjuk jobbra; 4 - távoli elem; 5 - Mutató Tel egy nulla értékű; 6 - eltávolítjuk a középső elem; 7 - eltávolítja az utolsó elem.
Az alábbiakban egy olyan funkció, amely törli egy elem típus „cím” a listáról a kettős kötés:
Ez a funkció eltelt egy mutatót eggyel kevesebb, mint a megfelelő funkciót a listából az egy link. / Remote elem már van egy mutató az előző elem és egy mutatót a következő pont /. Mivel az első elem a lista változhat, a függvény visszaad egy pointert a lista tetején.


Az alábbiakban egy egyszerű program egy listát az e-mail levelezés, épült a listában kettős kötés. Itt a teljes lista tartalmazza RAM. A program azonban módosítani lehet tárolni a listát a lemezen.

bináris fa


Ez a rész azt vizsgálja, a negyedik adatstruktúra, hogy az úgynevezett bináris fa. Sok fajta fa. Azonban bináris fák különleges helyet foglalnak el. Ha ilyen fák szabályossá, a keresési művelet, a behelyezés és eltávolítás fogják végezni nagyon gyorsan. Minden elemnek van egy bináris fa adatmezőket, kommunikáció a bal oldali tagjának és egy jobb összekötő elem. A 10. ábra egy kis fa.
A bemutató speciális használt terminológia fák. Az első elem a fa az úgynevezett gyökér is. Minden elem az úgynevezett vertex / vagy levél / fa, és a fa az úgynevezett részfa. Top amely részfák hívják végpont. A fa magasságát egyenlő a csúcsok számát szinten a fán. További ebben a fát lehet tekinteni, hogy azok vannak elrendezve memória, valamint a papíron. Azonban ne feledjük, hogy a fák a módon mutatja az adatokat a memóriába, és a memória valójában egy lineáris alakú.