Adatszerkezetek 1. előadás

Hasonló dokumentumok
Egyirányban láncolt lista

Struktúra nélküli adatszerkezetek

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

10. előadás Speciális többágú fák

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

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

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

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

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

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

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

Algoritmusok és adatszerkezetek gyakorlat 06 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++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

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

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

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

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

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

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok

Adatszerkezetek 7a. Dr. IványiPéter

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

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

Programozási technológia

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

Hierarchikus adatszerkezetek

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

Elemi adatszerkezetek

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

Adatbázis rendszerek. dr. Siki Zoltán

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

Algoritmusok és adatszerkezetek gyakorlat 07

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

Táblázatok fontosabb műveletei 1

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

Kulcs transzformációs táblázat

Algoritmuselmélet 2. előadás

adatszerkezetek 2007/7/6 15:51 page 27 #23

3. TÖMBÖK A tömb absztrakt adattípus Legyen T az E alaptípus feletti k ( 1) dimenziós tömb típus. Vezessük be az I I1

Érdekes informatika feladatok

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

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

22. GRÁFOK ÁBRÁZOLÁSA

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

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Programozás I gyakorlat

Adatmodellek. 2. rész

6. LISTÁK ábra. A lista absztrakt adatszerkezet (ADS)

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

Adatszerkezetek és algoritmusok

6. előadás. Kiegyensúlyozottság, AVL-fa, piros-fekete fa. Adatszerkezetek és algoritmusok előadás március 6.

Algoritmusok és adatszerkezetek II.

Adatszerkezetek 1. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter

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

Adatszerkezetek I. 1. előadás

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

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.

Buborékrendezés: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábrázolás: For ciklussal:

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

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

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Fák Témakörök. Fa definíciója. Rekurzív típusok, fa adatszerkezet Bináris keresőfa, bejárások Bináris keresőfa, módosítás B-fa

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

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

Hasító táblázatok. Hasító függvények, kulcsütközés kezelése. Programozás II. előadás. Szénási Sándor

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

Adatszerkezet - műveletek

Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Önszervező bináris keresőfák

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 30.

Programozás alapjai. 8. előadás

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

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

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

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Bemutatkozás. Bemutatkozás. Bemutatkozás. Bemutatkozás. 1. előadás. A tárgy címe: A programozás alapjai 1

Adatszerkezetek 2. Dr. Iványi Péter

Algoritmuselmélet 1. előadás

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

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

INFORMATIKA ÉRETTSÉGI VIZSGAKÖVETELMÉNYEK AZ ÉRETTSÉGI VIZSGA RÉSZLETES TEMATIKÁJA

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

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

7 7, ,22 13,22 13, ,28

TERMÉKTERVEZÉS PANDUR BÉLA TERMÉKTERVEZÉ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)

NYILVÁNOS KÖNYVTÁRI KATALÓGUSOK

2. AZ ADATTÍPUS ABSZTRAKCIÓS SZINTJEI

Adatmodellezés. 1. Fogalmi modell

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

Adatszerkezetek Hasító táblák. Dr. Iványi Péter

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Adatszerkezetek és algoritmusok Geda, Gábor

Átírás:

Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk http://www.inf.unideb.hu/~panovics/adatszerk.html Követelmények: két zh írásbeli vizsga

Bevezetés Absztrakció, modellalkotás A valós világ rendszereinek alkotóelemei az egyedek, melyek tulajdonságokkal, és viselkedésmőddal rendelkeznek. tulajdonság statikus jellemző viselkedésmód dinamikus jellemző, az egyedek egymáshoz való kapcsolatát jellemzi Modellalkotás: lényeges jellemzők kiemelése, lényegtelenek figyelmen kívül hagyása

Modellalkotás A modellezés lényege: absztrakció Azon tulajdonságok, melyek lehetőleg minél több egyednél megtalálhatóak: az egyedek karakterisztikus tulajdonságai Viselkedésmód elemek A modell nem egyedi dolgokkal, hanem ezen dolgok absztrakt osztályaival foglalkozik. Informatikában: tulajdonság: adat viselkedésmód: program

Modellalkotás Logikai szint absztrakt adatszerkezetek, melyek függetlenek a platformtól, a számítőgéptől Fizikai szint hardver + szoftver az adatok tárolására szolgáló hely memória (tár) háttértároló (állományok) Kölcsönösen egyértelmű leképezés van a két szint között

Absztrakt adatszerkezetek Adatelemekből állnak Ezek lehetnek egyszerűek (atomiak) összetettek Az adatelemeknek van egyszerűnek: 1 értéke van összetett: egy értékcsoport alkotja az értékét Az adatelemek között jól meghatározott kapcsolatrendszer van. Adatlem + kapcsolatrendszer = Abszt. adatszerk.

Absztrakt adatszerkezetek csoportosítási szempontjai Adatelemek száma változik-e időben statikus dinamikus (akár 0 is lehet) Adatelemek típusa homogén (az összes adatelem típusa azonos) heterogén fenti két szempont ortogonális, azaz egymástól teljesen független

Absztrakt adatszerkezetek csoportosítási szempontjai Adatelemek közötti kapcsolatok szerint homogén adatszerkezetben struktúra nélküli (nincs kapcsolat, pl. halmaz) asszociatív (pl. tömb) szekvenciális (minden a.e. két másik a.e.-el van kapcsolatban, kivéve az elsőt és az utolsót, minden adatelemnek van egy megelőzője és egy rákövetkezője) hierarchikus (minden adatelemnek egy megelőzője és akárhány rákövetkezője van, pl. FA) hálós (minden adatelemnek tetszőleges számú megelőzője és rákövetkezője lehet) heterogén adatszerkezet esetén nem csoportosítunk a kapcsolatok szerint, mindig rekord adatszerkezetről beszélünk.

Absztrakt adatszerkezetekkel végezhető műveletek Létrehozás Az üres szerkezeti váz kialakítása az adatelemek értékei is megadhatóak Módosítás nem érinti a szerkezetet, csak az egyes adatelemeket bővítés (dinamikus adatszerkezeteknél) törlés (fizikai és logokai) (csak din. ad.sz.) csere (meglévő a.e. értékét felülírjuk) (logikai törlés = speciális csere: érték felülírása speciális bitkombinációval)

Absztrakt adatszerkezetekkel végezhető műveletek Rendezés: segítségével az adatszerkezet elemeit egy (elsődleges) kulcs értékei alapján sorba rendezzük. szélsőérték kiválasztásos beszúró buborék shell gyors Keresés (van-e, esetleg hány van) teljes lineáris (rendezett) bináris (rendezett, folytonos tárolású)

Absztrakt adatszerkezetekkel végezhető műveletek Elérés segítségével hozzá tudunk férni, meg tudjuk fogni az adatszerkezet egy elemét közvetlen (többi adatelemtől független elérés) szekvenciális (adatelemek közötti kapcsolat alapján) Bejárás melynek során az összes elemet érintjük Feldolgozás hozzáférünk az a.e.-ekben tárolt információhoz, azokon valamilyen tevékenységet hajtunk végre

Ábrázolási módok (tárolási modellek, fizikai szint) Folytonos (vektorszerű) Szétszórt (láncolt) Az adatelemek a memóriában tárhelyen vannak elhelyezve. Egy tárhely: egy bájtcsoportot jelent, amely tárolja az adatelem értékét és szerkezetleíró információt hordozhat

Folytonos (vektorszerű) tárolás Egy tárhely egy adatelem értéke A tárhelyek a memóriában egy folytonos, összefüggő tárterületet alkotnak, a tárhelyek mérete azonos Előnyei: közvetlen elérés, a kezdőcím és a tárhely mérete alapján csere műveletet könnyű megvalósítani hatékony rendező algoritmusok hatékony kereső algoritmusok Hátránya: nem segíti a bővítést és a fizikai törlést

Szétszórt (láncolt) ábrázolás A tárhelyen az adatelem értéke (érték rész) mellett legalább egy mutató (mutató rész) értékét tároljuk. Mutató: tipikusan memóriacím A tárhelyek mérete nem feltétlen azonos, elhelyezkedésük a memóriában tetszőleges Szétszórt ábrázolás fajtái: egyirányban láncolt lista cirkuláris lista kétirányban láncolt lista multilista

Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten kívüli mutató, a fejmutató tárolja. A fejmutató nem taratlmaz egyéb adatot a mutatón kívül, így nem része az adatszerkezetnek, csak a hozzáférést biztosítja ahhoz. A láncolt lista végét egy speciális érték, a NIL jelzi. Amennyiben a fejmutató értéke NIL, akkor a lista üres.