Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaBalázs Szalai Megváltozta több, mint 10 éve
1
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
2
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
3
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
4
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
5
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
6
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
7
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
8
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
9
AA Oszlop vagy sor szerinti sorrendben helyezik el az információt a belső memóriában 9
10
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
11
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
12
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
13
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
14
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
15
Bináris fa ábrázolása gyökér 15
16
Gyökeres általános fák ábrázolása, bal-gyerek és jobb testvér módszerrel 16
17
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
18
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
19
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 5 3 92 7 8 Preorder(5,3,2,9,7,8) Inorder(2,3,9,5,7,8) Postorder(2,9,3,8,7,5) 19
20
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 2 9 8 5 3 7 Preorder Inorder Postorder 20
21
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 92615 7654321 31792615 7654321 31792615 7654321 Tető[V]=4 Tető[V]=6 Tető[V]=5 Beszúr, töröl, kivesz, üres, alulcsordul, túlcsordul 21
22
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
23
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
24
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
25
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT-2. kurzus 4262318 121110987654321 19426231853 121110987654321 19426231853 121110987654321 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
26
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
27
Gráfok ábrázolási módja Szomszédsági lista csúcsmátrix 12 3 54 010015 101114 010103 011012 110101 54321 12 45 3 6 0000105 1 1 0 0 0 5 000006 000014 100103 010002 000011 64321 5 4 3 2 1 6 5 4 3 2 1 5 2 5 6 4 1 1 2 4 2 2 1 2 1 3 4 3 4 5 4 5 1 27
28
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
29
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
30
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
31
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
32
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
33
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.