Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 2. Előadás tartalma 1. Elemi adatok és adatszerkezetek (struktúrák)‏ 2. Az.

Slides:



Advertisements
Hasonló előadás
A Floyd-Warshall algoritmus
Advertisements

Sor láncolt ábrázolással
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
ADATBÁZISOK.
4. Előadás: A mohó algoritmus
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Adatszerkezetek Az adatokat két fő csoportra oszthatjuk: egyszerű és összetett adatok.  Az egyszerű adatot egy érték jellemez, tovább nem bontható. (szám,
Táblázat kezelő programok
Minimális költségű feszítőfák
Bevezetés a Java programozásba
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Egydimenziós tömbök. Deklarálás: var valtozónév:array[kezdőérték..végsőérték]of típus; type típusnév = array [kezdőérték..végsőérték] of típus; var valtozónév:
3. LOGIKAI ADATSZERKEZETEK
Készítette: Pető László
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
LDinamikus tömbök, kétdimenziós tömbök Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./0. lVektorok létrehozása futásidőben, dinamikusan.
AVL fák.
Fák, bináris fák INFOÉRA Ez így 60 perc.
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
Darupályák tervezésének alapjai
Microsoft Excel Függvények VII..
dr. Szalkai István Pannon Egyetem, Veszprém
szakmérnök hallgatók számára
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
Gráfelmélet: Fák.
Listák, Vermek és Várakozási Sorok. Vermek Def: Egy sajátos lista amelyben minden beszúrási illetve törlési művelet csak a lista egyik végén történik.
Listák, Vermek és Várakozási Sorok
TÖMBÖK Asszociatív adatszerkezetek Tömbök
Struktúra nélküli adatszerkezetek
Adatszerkezetek 1. előadás
Egyirányban láncolt lista
Hierarchikus lista Kétféle értelemezése van:
Fák.
Gráfok 1. Szlávi Péter ELTE IK Média- és Oktatásinformatika Tanszék
Egyenesvonalú (lineáris) adatszerkezetek
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
1 Dijkstra Algoritmusa Györgyi Tamás – GYTNAAI.ELTE 2007 Április 02 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S a b c d e
Objektum orientált programozás
BINÁRIS FA Definició: A fa olyanösszefüggő gráf, amelyben nincs kör
Feladatok (értékadás)
Gráfok ábrázolása teljesen láncoltan
1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben 2.2 Műveletek a.
Algoritmizálás, adatmodellezés
Bináris kereső fák Itterátorok.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Algoritmusok és adatszerkezetek
Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése.
(Bináris) Kupac (heap) adattípus
Adatbázisszintű adatmodellek
Gráfok ábrázolási módja Általánosságok Algoritmusok ábrázolása:
BFák Kiegyensúlyozott keresőfák
Kovács Gergely Péter Bevezetés
Algoritmusok és Adatszerkezetek I.
Dinamikus adatszerkezetek
Piros-fekete fák Beszúrás, ill. törléskor a fa elveszítheti az egyensúlyát. A piros-fekete fák: az egyensúly megtartását biztosítják. +1 bit információ.
Adatbáziskezelés.
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:
Előadás másolata:

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 2. Előadás tartalma 1. Elemi adatok és adatszerkezetek (struktúrák)‏ 2. Az adatok szervezése és feldolgozása a belső memóriában 3. Az adatok szervezése és feldolgozása a külső memóriában 4. Az adatstruktúrák kiválasztási kritériumai 1

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 1.Elemi adatok és adatstruktúrák Adat: egy modell az információk ábrázolására Elementáris adatok: skaláris, tovább nem osztható Logikai, alkalmazói nívón: Fizikai, gépi nívón<belső ábrázolás, egész, decimális, bináris, stb. > azonosító: attribútum Az adat értéke 2

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda ABR 2-2. kurzus Adatstruktúrák: Csoportosítás: A komponensek kiválasztása szerint (direkt hozzáférésű, szekvenciális hozzáférésű)‏ A memória típusa szerint (belső, külső)‏ A struktúra változékonysága szerint (dinamikus, statikus)‏ Adatstruktúrákon történő műveletek Létrehozás: az adatok memorálása Lekérdezés: az adatok kiolvasása. (bejárás)‏ Aktualizálás: az adatok módosítása (beszúrás, törlés)‏ Rendezés: az adatok sorba helyezése bizonyos logikai sorrend szerint Összevonás: az adatok egyesítése Másolás: az adatok másolása 3

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Adatszervezés: Azonosítás, csoportosítás, a tulajdonságok leírása, gyűjtemények létrehozása A struktúra megállapítása Az ábrázolási módok maghatározása A feldolgozási módok definíciója A fontosabb adattípusok: Numerikus: egész, valós, komplex stb. Logikai: bool tipusú (igen, nem) Karakter: betűk, számok, jelek együttese Mutató: adatok melyek címeket jelentenek 4

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 2. Az adatok szervezése és feldolgozása a belső memóriában: Adattípúsok a belső memóriában Tömbök (vektor, mátrix, n-dimenziós tömb)‏ Kapcsolt listák Fa adatszerkezet (rekordszerkezet, algebrai kifejezés)‏ Más adatszerkezetek 1.Verem 2.Sor 3.Láncolt lista 4.Gráfok 5

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Lineáris (egydimenziós) tömbök Hasonló adatelemek véges számú tagból álló listája. Az egyes elemekre az n tagú halmaz egymást követő sorszámaival hivatkozhatunk. (1,2,3,...,n)‏ C-ben és Java-ban (0,1,2,...,(n-1))-el hivatkozunk Jelölések: Indexes jelölés a 1, a 2, a 3,...., a n Zárójeles jelölésA(1), A(2), A(3),..., A(N)‏ Szögletes zárójeles jelölés A[1], A[2], A[3],…, A[N] Jelöléstől függetlenül az A[K]-ban levő számot indexnek, az A[K]-t indexelt változónak nevezzük 6

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Filó Ferenc6 Erőss Elemér5 Dávid Domokos4 Csedő Csaba3 Bács Béla2 Antal Árpád1 A számok a hallgatóknak a helyét adják meg az adatszerkezetben: HALLGATÓ[1] – Antal Árpádot jelenti HALLGATÓ [5] – Erőss Elemért A memóriában is szekvenciálisan, egymás után vannak elhelyezve az információk. HALLGATÓ nevű tömb 7

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Kétdimenziós tömbök (mátrixok vagy táblázatok)‏ mxn méretű kétdimenziós A tömb m.n adatelemből áll. Indexnek nevezett számpárral hivatkozhatunk az elemekre (pl. J, K) 1≤J≤m és 1≤K≤n Jelölés A JK, vagy A[J,K] Sorok Oszlopok 3x4 méretű kétdimenziós tömb 8

AA Oszlop vagy sor szerinti sorrendben helyezik el az információt a belső memóriában 9

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus RanczIncze9 SzabóHalmos8 RanczGergely7 JanóFiló6 SzabóErőss5 RanczDávid4 JanóCsedő3 RanczBács2 SzabóAntal1 ÜgynökVásárló 10

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 2Incze9 3Halmos8 2Gergely7 1Filó6 3Erőss5 2Dávid4 1Csedő3 2Bács2 3Antal1 MutatóVásárló 3Szabó 2Rancz 1Janó Ügynök 11

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Fa adatszerkezet. Az adatelemek között hierarchikus kapcsolat van. Hurok nélküli gráf (fa adatszerkezet). alkalmazott Személyi számnévcímkorfizetés VezetéknévKeresztnévOrszágOrszágon belüli cím VárosUtcaházszám Ezt rekordszerkezetnek nevezzük. A relációs modell előtt használták. ÁLTALÁNOS faszerkezet. 12

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Algebrai kifejezések fastruktúrája (BINÁRIS fa)‏ (2*x+y)*(a-7*b) 3 b + y* ↑ 2x - 3 a* * 7 13

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus a) Bináris fák (mindenik csúcsnak legtöbb két ága van)‏ b) Általános fák (mindenik csúcsnak legtöbb k ága van)‏ Ábrázolás Zárójelekkel A(B,C)‏ Standard gyökér 1, bal (I), jobb(I)‏ Apa apa (0,1,2,3,2,..)‏ 14

Bináris fa ábrázolása gyökér 15

Gyökeres általános fák ábrázolása, bal-gyerek és jobb testvér módszerrel 16

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Átfutás: Preorder (A,B,C)‏ Inorder (B,A,C)‏ Postorder (B,C,A)‏ Átfutási algoritmus: Procedure Preorder (gyökér)‏ I gyökér; k 0 folytatás = “igen” A BC 17

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus While folytatas = “igen” if i<> 0 then feldog (i); k k+1; v(k) i; i bal(I)‏ else if k = 0 then folytatas = “nem” else i v (k); k k-1; i jobb(i)‏ end if end while Return 18

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Preorder(5,3,2,9,7,8)‏ Inorder(2,3,9,5,7,8)‏ Postorder(2,9,3,8,7,5)‏ 19

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Preorder Inorder Postorder 20

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus A verem: LIFO struktúra (Last In First Out), utolsó be, első ki struktúra Tető[V]=4 Tető[V]=6 Tető[V]=5 Beszúr, töröl, kivesz, üres, alulcsordul, túlcsordul 21

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Az előzőekben egy n elemet tartalmazó verem van megvalósítva V[1..n] tömbbel. Tető[V] attribútum a verembe legutoljára betett elemnek az indexe. V[1..tető[V]] elemekből áll, amelyek közül V[1] a verem legalsó, V[tető[V]] pedig a legfelső eleme. Tető[V]=0 a verem nem tartalmaz elemet és üresnek nevezzük. Ha az üres veremből próbálunk elemet kivenni, alulcsordul. Tető[V]>n akkor a verem túlcsordul. ÜRES-VEREM(V)‏ 1. If tető[V]=0 2. then return IGAZ 3.else return HAMIS 22

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus VEREMBE(V,x)‏ If tető[V]=n 2. then error “túlcsordulás” 3.else tető[V]←tető[V]+1 4.V[tető[V]]←x VEREMBŐL(V)‏ 1. If ÜRES-VEREM(V)‏ 2. then error “alulcsordulás” 3.else tető[V]←tető[V]-1 4.V[tető[V]+1] 23

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Sorok: Értelmezett műveletek: SORBA(BESZÚR), SORBÓL (TÖRÖL)‏ FIFO tulajdonsága van, mint emberekből álló sor a pénztárnál. Első elem fej, utolsó elem vég. Egy legfeljebb n-1 elemű sor megvalósítható egy S[1..n] tömb felhasználásával. Attribútumok: fej[S], a sor első elemét indexeli vég[S], annak a helynek az indexe, amelyre a legközelebb beérkező elemet fogjuk elhelyezni. fej[S]=vége[S] a sor üres Kezdetben fej[S]=vége[S]=1 üres sorból a kivevés alulcsordulás fej[S]=vége[S]+1a sor tele van, beszúrás túlcsordulás 24

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus fej[S]=7 fej[S]=8 vége[S]=12 vége[S]=3 A sor 5 eleme az S[7..11] pozícióban Sorba(S,19), Sorba(S,3), Sorba(S,5)‏ Sorból(S)‏ 25

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus SORBA(S,x)‏ S[vége[S]]←x if vége[S]=hossz[S] then vége[S]←1 else vége[S]←vége[S]+1 SORBÓL(S)‏ x←S[fej[S]] if fej[S]=hossz[S] then fej[S]←1 else fej[S]←fej[S]+1 return x 26

Gráfok ábrázolási módja Szomszédsági lista csúcsmátrix

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Gráfalgoritmusok: Szélességi keresés Mélységi keresés Minimális feszítőfák (Kruskal és Prim algoritmusai)‏ Adott csúcsból induló legrövidebb utak Bellman-Ford algoritmus Dijkstra algoritmusa Hálózati folyamok Ford és Fulkerson algoritmus Edmonds-Karp algoritmus 28

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 3. Az adatok szervezése és feldolgozása a külső memóriában (Hard Disk)‏ Fájlok, szervezési módok és hozzáférés Fájlok: Volumen, blokkok, Létesítés, Aktualizálás Lekérdezés, Közbeékelés Másolás Szervezés (szekvenciális, index szekvenciális, szelektív, relatív, inverz, multiindexált, összekötésekkel, adatbázis )‏ 29

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Az adatstruktúrák alapvető kiválasztási tényezői. Az adatszerkezet az adatszervezés matematikai vagy logikai modellje. 1. A választott modell szerkezetének elegendően gazdagnak kell lennie ahhoz, hogy tükrözni tudja az adatok közötti aktuális és valós kapcsolatokat 2. A szerkezetnek elegendően egyszerűnek kell lennie ahhoz, hogy hatékonyan fel lehessen dolgozni az adatokat 30

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 4. Az adatstruktúrák kiválasztási kritériumai. Volumen Operációk és frekvenciájuk Aktivitási mutatója az operációnak A struktúra élettartama A programozás komplexitása A teljesség biztosítása A kapcsolódó tevékenységek időtartama és komplexitása A memória hatékony kihasználása 31

Sapientia - Erdélyi Magyar Tudomány Egyetem (EMTE) Csíkszereda IRT-2. kurzus Ellenőrző kérdések  Elemi adatok  Adatstruktúrák  Az adatstrukturákkal történő műveletek  Adatszervezés, Adattípusok  Bináris adatfák (reprezentálás és átfutás)‏ 32

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus Ellenőrző kérdések  Általános adatfák (reprezentálás és átfutás)‏  Általános gráfok (reprezentálás és átfutás)‏  Adatfeldolgozás a belső memóriában (Sorbarakás, Keresés, Szétszórás)‏  Az adatok szervezése a külső memóriában  Az adatok feldolgozása a külső memóriában  Az adatstruktúrák kiválasztási kritériumai. 33