Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Hasonló dokumentumok
Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Verem Verem mutató 01

Adatszerkezetek és algoritmusok

Algoritmusok és adatszerkezetek I. 1. előadás

Adatszerkezetek 1. előadás

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Aritmetikai kifejezések lengyelformára hozása

Adatszerkezetek 1. Dr. Iványi Péter

Struktúra nélküli adatszerkezetek

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Programozás alapjai II. (7. ea) C++

Egyirányban láncolt lista

Adatszerkezetek I. 1. előadás

ADATSZERKEZETEK (VEREM, SOR)

Absztrakt adatstruktúrák A bináris fák

4. VEREM. Üres: V Verembe: V E V Veremből: V V E Felső: V E

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

Készítette: Nagy Tibor István

Algoritmizálás, adatmodellezés 1. előadás

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?

Algoritmizálás és adatmodellezés tanítása 4. előadás

Adatszerkezetek I. 4. előadás

Algoritmizálás és adatmodellezés tanítása 6. előadás

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Algoritmusok és adatszerkezetek I. 3. előadás

Algoritmusok és adatszerkezetek I. 2. előadás

Láncolt listák. Egyszerű, rendezett és speciális láncolt listák. Programozás II. előadás. Szénási Sándor

Láncolt Listák. Adat1 Adat2 Adat3 ø. Adat1 Adat2 ø Adat3

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

Rendezések. Összehasonlító rendezések

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus adatszerkezetek. Dinamikus adatszerkezetek. Önhivatkozó struktúrák. Önhivatkozó struktúrák

Bevezetés a Programozásba II 12. előadás. Adatszerkezetek alkalmazása (Standard Template Library)

Kifejezések. Kozsik Tamás. December 11, 2016

.Net adatstruktúrák. Készítette: Major Péter

Amortizációs költségelemzés

Algoritmusok és adatszerkezetek I. 4. előadás

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Kifejezések. Kozsik Tamás. December 11, 2016

Programozás I gyakorlat

Kulcs transzformációs táblázat

Web-programozó Web-programozó

Halmaz típus Értékhalmaz:

1.előadás Tornai Kálmán

Algoritmusok és adatszerkezetek I. 2. előadás

Haladó rendezések. PPT 2007/2008 tavasz.

Láncolt listák Témakörök. Lista alapfogalmak

Láncolt listák. PPT 2007/2008 tavasz.

Komputeralgebra Rendszerek

Elemi adatszerkezetek

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

A félév során előkerülő témakörök

A lista adatszerkezet A lista elemek egymásutániságát jelenti. Fajtái: statikus, dinamikus lista.

Információs Technológia

Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy.

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Adatszerkezetek és algoritmusok

17. A 2-3 fák és B-fák. 2-3 fák

Önszervező bináris keresőfák

Adatszerkezetek és algoritmusok

Követelmény az 5. évfolyamon félévkor matematikából

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

19. Hasításos technikák (hash-elés)

Adatszerkezetek Bevezetés Adatszerkezet Adatszerkezet típusok Műveletek Bonyolultság

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Adatbáziskezelés. Indexek, normalizálás NZS 1

Generikus osztályok, gyűjtemények és algoritmusok

Multihalmaz, intervallumhalmaz

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése

Logika es sz am ıt aselm elet I. r esz Logika 1/36

1. Az utasítás beolvasása a processzorba

21. Adatszerkezetek Az adattípus absztrakciós szintjei Absztrakt adattípus (ADT) Absztrakt adatszerkezet (ADS) Egyszerű adattípusok Tömbök

Tuesday, March 6, 12. Hasító táblázatok

Az informatika kulcsfogalmai

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

Készítette: Nagy Tibor István

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása

Digitális rendszerek. Utasításarchitektúra szintje

Adatszerkezetek 7a. Dr. IványiPéter

9. előadás. A táblázat. A táblázatról általában, soros, önátrendező, rendezett és kulcstranszformációs táblázat

Adatszerkezetek II. 1. előadás

Algoritmuselmélet 2. előadás

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Adatszerkezetek 2. Dr. Iványi Péter

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

10-es számrendszer, 2-es számrendszer, 8-as számrendszer, 16-os számr. Számjegyek, alapműveletek.

Adatbázismodellek. 1. ábra Hierarchikus modell

félstatikus adatszerkezetek: verem, várakozási sor, hasítótábla dinamikus adatszerkezetek: lineáris lista, fa, hálózat

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

3/1. tétel: Linearis adatszerkezetek és műveleteik

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Átírás:

Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból vett értékek direkt szorzata Unió Értékeit n db különböző típus valamelyikéből veszi Sokaság Véges számú, azonos típusú elemekből áll Az értékhalmaz struktúrája 1

Típuskonstrukciós műveletek Elem felvétele (adott helyre, elejére, végére, ) Elem törlése (adott helyről, adott érték, ) Szelekciós műveletek Elem keresése (hely alapján, érték alapján, kulcs alapján, függvény alapján, ) Műveletek Részek függvénnyel kiválasztása A típus ábrázolása annyi biten történik, ahány biten az egyes résztípusok összesen ábrázolhatók Pl.: C# bitenkénti felsorolás típusa Részek névvel kiválasztása (rekord, osztály) Direkt szorzat típusok Újradefiniálás Ugyanazokhoz az adatokhoz más és más módon férhetünk hozzá (C, C++ unió típusa) Alternatív rekord Feltételtől függően a rekord vagy egyik, vagy másik típusú értéket tárol (Pascal alternatív rekord típusa) Unió típusok 2

Sorrend nélküli sokaságok Halmaz Multihalmaz Intervallumhalmaz Hasító táblázat Sorozat típusok Verem, sor, prioritási sor, lista, Hierarchikus típusok Fa, bináris fa, B-fa, Hálós típusok Gráfok Sokaság típusok Ábrázolás: A halmazbeli elemek értékeinek felsorolása A halmazbeli elemek értékének megfelelő bit beállítása A halmazbeli elemek értékeinek megfelelő sorszámú logikai érték igazra állítása Halmaz Az elemek között egyértelmű sorrend áll fenn Speciális műveleteik: Első, utolsó Elejére, végére Elsőutániak, utolsóelőttiek Ábrázolási módok: Folytonos (szekvenciális) Láncolt Blokkolt Sorozat típusok 3

Az adatszerkezet elemei egy egybefüggő memóriaterületen egymás után helyezkednek el Az egyes elemekhez indexeléssel férhetünk hozzá 0. 1. 2. n. Előnyök: elemek elérése, keresése egyszerű Hátrányok: törlés, beszúrás nehéz, sok mozgatással jár, elemek száma rögzített Szekvenciális ábrázolás Az elemek fizikai és logikai sorrendje eltérő. A logikai sorrendet a következő elem helyének tárolásával valósítjuk meg. Fajtái: Statikusan láncolt ábrázolás Dinamikusan láncolt ábrázolás Előnyök: könnyű beszúrás, törlés, elemek száma dinamikusan változhat Hátrányok: nehéz a keresés Láncolt ábrázolás Az elem után következő elem sorszámát (indexét) tároljuk -1 Első elem = 2. 0. 3. 1. Statikusan láncolt ábrázolás 4

Az elem után következő elem referenciáját, vagy mutatóját tároljuk Első elem Dinamikusan láncolt ábrázolás Egy blokk több elemet és egy hivatkozást tárol a következő blokkra Egy blokkon belül az elemek indexeléssel érhetők el Első elem Blokkolt ábrázolás Last In First Out (LIFO): a legutoljára betett elemet lehet legelőször kivenni Utolsó elem Műveletei: Push, Pop, Üres_e, Tele_e Verem adatszerkezet 5

First In First Out (FIFO). A legelőször betett elemet lehet legelőször kivenni. Kivétel helye Betétel helye Műveletei: Sorba, Sorból, Üres_e, Tele_e Sor adatszerkezet Ciklikus sor Ha valamelyik mutató a sor végére ér, akkor folytatja a mozgását a sor elején Prioritási sor (rendezett sor) Minden elem mellett egy rendezési szempont alapját képező értéket is tárolunk Vagy az elem betételét, vagy kivételét végezzük a rendezési szempont alapján Speciális sor adatszerkezetek Lukasievitz lengyel matematikusról nevezték el A kifejezések zárójelek nélküli leírását teszi lehetővé Változatai: Prefix: a műveletek operandusaik előtt szerepelnek Pl.: infix: (a+b)*(a-b) Prefix lengyel-forma:*+ab-ab Postfix: a műveletek operandusaik mögött szerepelnek Pl.: infix: (a+b)*(a-b) Prefix lengyel-forma:ab+ab-* Lengyel-forma 6

1. Infix, zárójeleket is tartalmazó kifejezés lexikális egységeinek azonosítása 2. Infix, zárójeleket is tartalmazó kifejezés postfix lengyel-formára alakítása 3. Postfix lengyel-formájú kifejezés értékének kiszámítása Kifejezések kiértékelése Lengyelformával Operandusok a kimenetre Művelet: Ha a veremben nála nagyobb, vagy egyenlő prioritású művelet van, akkor kivenni a veremből és kiírni a kimenetre Művelet betétele a verembe Nyitó zárójel: Betétel a verembe Záró zárójel: Műveletek kivétele a veremből és kiírása a kimenetre a nyitó zárójelig Nyitó zárójel kivétele a veremből Postfix lengyel-forma elkészítése Operandus: Betétel a verembe Művelet (n operandusú): A verem tetején lévő n db operandus kivétele a veremből A művelet elvégzése Az eredmény visszaírása a verembe A műveletsor végén a kifejezés eredménye a veremben lesz Postfix lengyel-formájú kifejezés értékének kiszámítása 7