EFOP-3.4.3-16-2016-00014
DR. NÉMETH TAMÁS ADJUNKTUS
Bevezetés az Informatikába
2019.05.31.
AP1 TTIK hallgatói diploma-szerzést segítő szolgáltatások
Jelen tananyag a Szegedi Tudományegyetemen készült az Európai Unió támogatásával.
Projekt azonosító: EFOP-3.4.3-16-2016-00014
This teaching material has been made at the University of Szeged, and supported by the European Union.
Project identity number: EFOP-3.4.3-16-2016-00014
Informatika 8. lecke
elsajátításához javasolt idő: 5 óra
adatok strukturált tárolása: keresőfák és alkalmazásaik
a a a a a a a a a a a a a a a a a b a a a a b
algoritmus futási ideje: legrosszabb eset elemzése
Hatékony keresés strukturálatlan adatokban
mintaillesztés probléma
b l a b d o r t d o d o r t m u n d
d o r t m
a a a a b
S
Σ={a,b}
q
0q
1a a
q
2a
q
3a
q
4b
q
5b b b a
a a a a a a a a a a a a a a a a a b
A
b
Mintaillesztés automatával (megoldás)
21
9 29
4 17 24 37
1 6 13 20 22 27 31 43
(-∞,1) (1,4) (4,6) (6,9) (9,13) (13,17) (17,20) (20,21) (21,22) (22,24) (24,27) (27,29) (29,31) (31,37) (37,43) (43, ∞)
Keresés keresőfában azaz strukturált adatszerkezetben
a keresőfa egy adatszerkezet keressük: 20
gyökérből kiindulva vagy jobbra vagy balra lépünk, 4 műveletet végeztem el
és megtaláltam!
adat felvé
tele adat keresése
adat törlé se létre ho zás
adatszerke zet felszá molása (me gszüntet) minden adat törlése (üresít)
ele mszá
m vissza
ad ása
adat mó dosítása
m ű veletek adatsze rkezete ken (in terfésze k)
LIFO (Last In First Out) Műveletek:
Verembe Veremből
Verem
Sor
FIFO (First In First Out) Műveletek:
Sorba
Sorból
Verem, sor megvalósítása
alapműveletek : push , pop
semmi (null) eleje
verem pop
sor push verem push
sor pop
Parancs/Utasítás/Eljárás/Függvény hívás
Memória
adat + programkód
eljárás programkódja
eljárás kezdete
eljárás vége
verem
függvény
bemeneti paraméterek
visszatérési érték (eredmény)
A = 5 , S o r b a ( A ) , V [ A ] = ” - ” C i k l u s
S o r b ó l ( x )
A z ö s s z e s ( x f i a i ) - r e h a V [ i ] = = 0 a k k o r S o r b a ( i ) , V [ i ] = x
C i k l u s v é g e , h a a s o r ü r e s
Szélsségi keresés - legrövidebb út
Elérhetőség gráfokban - bejárás
5
2 8
1 4 6 9
2 5
1 2 3 4 5 6 7 8 9
38
7N 5
5
1
2 2
6 9
8 8
Sor x
V
4 N
Legrövidebb út Y-ból B-be
1 2 3 4 5 6 7 8 9 10 11 12 13 1
2 3
4
Y
5 6 7 8 9 10
11
B
12 13
Megoldás:
Szélességi keresés
A=(10,11), sorba(A), T[A]=”B”
Ciklus
sorból(e)
e minden g szomszédjára:
ha T[g]==””: sorba(g), T[g]=e Ciklus vége:
-ha a sor üres, vagy -ha elértük Y-t
10,11 10,12
10,11 10,11
9,10 10,9
10,10
10,10
9,12
10,12
8,10
9,10
10,8
10,9
8,12
9,12
8,9
8,10
11,8
10,8
7,12
8,12
8,8
8,9
12,8
11,8
6,12
7,12
7,8
8,8
12,7 12,9
12,8
12,8 6,11
6,12
6,8
7,8
12,6
12,7 12,10
12,9 6,10
6,11 6,7 6,9
6,8 6,8 11,6
12,6 12,11
12,10 5,10
6,10 6,6
6,7 11,6
11,5
Példák adatszerkezetekre
Példák adatszerkezetekre
Kérdések
• Mitől függ az egyes műveletek műveletigénye?
• Mi az interfész és milyen szerepe van az adatszerkezetekben?
• Ha egy buszra felszállunk, annak, aki legelőször leszáll, mikor kell betennie a bőröndjét? Ez mely adatszerkezetre példa?