1 / 18

3. LOGIKAI ADATSZERKEZETEK

3. LOGIKAI ADATSZERKEZETEK. 1. Lineáris 2. Tömb 3. Lista 4. Verem (LIFO) 5. Sor (FIFO) 6. Táblázatok. Forrás: Simon Gyula Számítástechnika középiskolásoknak.

arlen
Download Presentation

3. LOGIKAI ADATSZERKEZETEK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3. LOGIKAI ADATSZERKEZETEK 1. Lineáris 2. Tömb 3. Lista 4. Verem (LIFO) 5. Sor (FIFO) 6. Táblázatok Forrás: Simon Gyula Számítástechnika középiskolásoknak Összeállította: Sashalmi Tibor

  2. A programok különböző típusú adatokat dolgoznak fel. Az adattípus a következőktől függ: • Belső ábrázolás, - amely az adott adattípusra jellemző • Értékkészlet – az adott adattípusú változó milyen értékeket vehet fel. • Műveletek– Milyen műveleteket lehet végezni az adott típusú változón? A probléma megoldás során több adattal is dolgozunk. Ezek az adatok általában egymástól nem függetlenek, logikailag összefüggnek. Ezek az összefüggések az adatszerkezetek.

  3. 3.1 Lineáris adatszerkezet Ez egy általános jellegű adatszerkezet. A lineáris adatszerkezet az alábbiakkal jellemez- hető: • Van egy első és egy utolsó eleme • Az ezeken kívüli elemeknek létezik megelőzője, és rákövetkezője. • Az első elemnek csak rákövetkezője van, az utolsónak csak megelőzője.

  4. 3.2 Tömb A tömb azonos típusú adatok sorozata. A tömbök-nél a logikai szerkezetet az adatelemek egymás-hoz viszonyított elhelyezkedése adja. Így nyilván az első elem kitüntetett helyzetű, hiszen a többi elem helyét az elsőhöz viszonyíthatjuk. • Egydimenziós tömb (vektor) • Kétdimenziós tömb Léteznek még három-, négy-, stb. dimenziós tömbök is, de ezek ritkábban fordulnak elő.

  5. 3.3 Lista A tömbelemek tárolási módja a memóriában fix méretű és szekvenciális. A program futása közben nem változtatható. A törlés és beszúrás műveletet nehéz elvégezni. A lista adatszerkezetben az elemek sorrendje szintén jól meghatározott, de az egyes elemek a memóriában nem biztos, hogy ugyanilyen sorrendben helyezkednek el. • Egyirányú láncolt lista • Kétirányú láncolt lista

  6. 3.4 Verem (LIFO) (1 dia) A verem egy olyan lineáris adatszerkezet, amelynek mindig csak az utolsó elemével lehet műveletet végezni. • Új adat beírása utolsó elemként • Az utolsó elem kiolvasása, egyúttal az elem törlődik Szemléletesen az utolsó elem a verem tetejére kerül. Ezt vesszük ki elöször. És ha kivesszük az utolsó elemet ( az elsőként berakott) is, akkor kiürül a verem. Ezt a feldolgozási módot hívják LIFO –nak ( Last-In-First-Out : utoljára be- először ki.

  7. 3.4 Verem (LIFO) A verem legfontosabb alkalmazási területe az eljáráshívás: „A” eljárás „B” eljárás Program Cím 11 Cím 4

  8. 3.5 Sor (FIFO) Olyan lineáris adatszerkezet, amelynek mindig a legelső elemével lehet műveletet végezni. • Új elem beírása utolsó elemnek. • A legelső elem kiolvasása, egyúttal ez az elem tölődik. Az adatokat sorba kell állítani. Ezt a feldolgozási módot FIFO - nak nevezik (First – In – First -Out: elsőként be - először ki). Tipikus alkalmazási terület a nyomtatási sor.

  9. Kiválasztunk egy szögpontot, ez lesz a a fa gyökéreleme. Ezután a gyökérelemtől éleket húzunk a szomszédos szögpotokhoz, ezekből újra a velük szomszédos szögpontokhoz, stb. Azokat a fa adatszerkezeteket ahol az eágazási elemből legfeljebb két elem indul ki bináris fának nevezzük. Bináris fák esetén az adatelem három részből áll: bal mutató információ jobb mutató 3.6 Bináris fa A fagráf egy olyan összefüggő gráf, amelyben nin- csen kör. A fa adatszerkezetben az egyes szögponto- kat összekötő élek irányítottak lesznek.

  10. 3.7 Táblázatok A táblázat tulajdonképpen egy függvénykapcsolat össze- tartozó értékek között. Adatelem a következőképpen néz ki: Az argomentum és az érték is állhat több mezőből. A táblaelemeket általában az argumentumuk alapján szokták keresni, nevezhetjük ezt tartalom szerinti keresésnek Argomentum érték

  11. Logikai adatszerkezetek VÉGE

  12. 3.2.1 Egydimenziós tömb (vektor) A legegyszerűbb tömb típus. Az egyes elemekre egy számmal, az index segítségével hivatkozha-tunk. Az index az mutatja hogy az elem hányadik a tömb elemek között. Például turbó Pascal esetén a deklaráció formája: Var tomb : array [1…100] of integer A tömb neve Az indexek lehetséges értékei elemtípus Ennek a tömbnek a 6.eleme: tomb[6] A tömbelemek a memóriában egymás után helyezkednek el, az indexeknek megfelelően. Az, hogy mekkora helyet foglalel a tömb a memóriában, az egyrészt az elemek számától, másrészt az elemek típusátol függ. vissza

  13. 3.2.2 Kétdimenziós tömb (1.dia) Itt az elemek egy táblázatban helyezkednek el. Pl: A32 második index oszlopindex első index sorindex A kétdimenziós tömb logikailag sorokból, és oszlopokból áll. Az első index a sor sorszámát jelenti, a második szám az oszlop sorszáma. vissza

  14. 3.2.2 Kétdimenziós tömb (2.dia) Például a Turbo Pascal – ban a deklaráció formája: var A: array [1..5, 1..4] of char; Az a A32 – re való hivatkozás: A[3,2]. A memóriában az elemek általában sorfolytonosan helyez- kednek el. Az elemek sorrendje az előző példákon szem- léltetve: A11 A12 A13 A14 A21 A22 A23 A24 A31 A32 A33 ... stb. vissza

  15. listafej 1.elem 3.elem 2.elem Cím 2 000 Cím 3 3.3.1 Egyirányú láncolt lista (1.dia) A listaelemei a következő szerkezetűek: A mutató a következő elem címét tartalmazza. Az elemek összeláncolása ezeknek a mutatóknak a segítségével történik. A lista tartalmaz két speciális elemet. - Listafej - Végelem adat mutató vissza

  16. 2.elem Cím 3 újelem 3.3.1 Egyirányú láncolt lista (2.dia) Két fontos művelet a kővetkezőképpen végezhető el: • Beszúrás : Egy elem beszúrásához elegendő az előző elem mutatójának megváltoztatása. listafej 1.elem Cím új Cím 2 3.elem 000 • Törlés: Egy elem törléséhez is az előző elem mutatóját kell • megváltoztatni. listafej 1.elem Cím 3 Cím 2 2.elem Cím 3 3.elem 000 vissza

  17. 1.elem 2.elem 3.elem 4.elem Cím lf Cím 1 Cím 2 Cím 3 Cím 2 Cím 3 Cím 4 000 3.3.2 Kétirányú láncolt lista listafej Ha az egyes lista elemeket még egy résszel kiegészít- jük, akkor kétirányú lán- colt listát kapunk. A lista elemek három részből áll- nak: - információs rész - előző elem címe - következő elem címe vissza

More Related