Adatszerkezetek és algoritmusok



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

Adatszerkezetek és algoritmusok

infix kifejezés a+b ab+ +ab postfix kifejezés prefix kifejezés a+b ab+ +ab a+b ab+ +ab Készítette: Szabóné Nacsa Rozália

Aritmetikai kifejezések lengyelformára hozása

Adatszerkezetek és algoritmusok

Verem Verem mutató 01

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

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

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

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

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

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

Adatszerkezetek 1. Dr. Iványi Péter

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

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Programozás II. labor

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

Bevezetés a programozásba I.

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

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

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

Függvények határértéke, folytonossága

Gyakori elemhalmazok kinyerése

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

Programozás II. 4. Dr. Iványi Péter

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

A raktártechnológia ismérvei. Tervezési elsődlegesség Elsőbbség a technikával szemben A raktártechnológia egyedi jellege

9. Tétel Els - és másodfokú egyenl tlenségek. Pozitív számok nevezetes közepei, ezek felhasználása széls érték-feladatok megoldásában

Programozás I gyakorlat

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

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

Mutatók és mutató-aritmetika C-ben március 19.

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

Struktúra nélküli adatszerkezetek

Programozás I gyakorlat

FUNKCIONÁLIS PROGRAMOZÁS

A C programozási nyelv III. Pointerek és tömbök.

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Chomsky-féle hierarchia

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r

A C programozási nyelv III. Pointerek és tömbök.

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Objektumorientált programozás C# nyelven

Elemi adatszerkezetek

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

Algoritmusok, adatszerkezetek, objektumok

2019, Funkcionális programozás. 5. el adás. MÁRTON Gyöngyvér

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

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

Informatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto

Diszkrét matematika 1. középszint

1. Bevezetés A C++ nem objektumorientált újdonságai 3

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.

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

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

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


Programozás I gyakorlat

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

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása

1.1 Szakdolgozat témája A Program célja A használt technológiák ismertetése A program megtervezése...

2018, Funkcionális programozás

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

Bevezetés a programozásba. 12. Előadás: 8 királynő

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Bevezetés a programozásba I.

Adatszerkezetek és algoritmusok Geda, Gábor

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

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

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

8. gyakorlat Pointerek, dinamikus memóriakezelés

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Egyirányban láncolt lista

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

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

Sorozatok és Sorozatok és / 18

Adatszerkezetek és algoritmusok

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Gyártórendszerek Dinamikája. Irányítástechnikai alapfogalmak

Java és web programozás

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

Tájékoztató. Értékelés Összesen: 32 pont

Programozási nyelvek Java

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

A relációelmélet alapjai

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 31. Széchenyi István Egyetem, Gy r

Átírás:

2009. november 13.

Ismétlés

El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók Osztályok, objektumok Egyszer programozási tételek I/O m veletek Java és Eclipse ismeretek Verem adatszerkezet

Sor adatszerkezet

Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet 10

Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet 10 20

Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet 10 20 15

Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet 10 20 15 13

Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet 10 20 15 13 23

Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet 20 15 13 23

Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet 15 13 23

ADT Sor ADT A Sor ADT axiomatikus leírása: (E alaptípus feletti S Sor típus jellemzése) M veletek: (isfull nem szerepel) Empty: S (az üres sor konstruktor létrehozás) IsEmpty: S L (üres a sor?) In: S E S (elem betétele a sorba) Out: S S E (elem kivétele a sorból) First: S E (els elem lekérdezése) Megszorítások: Out és First értelmezési tartománya: S \ {Empty} Axiómák Veremhez hasonlóan megadhatók

Reprezentáció Statikus, aritmetikai reprezentáció Aritmetikai ábrázolás: egy max hosszú vektor (ez az elemek tömbje) elements[1..max] a sor els elemének mutatója head [1, max] a sor els üres (utolsó) helyének mutatója tail [1, max]

Reprezentáció Például Elemek

Reprezentáció Például Head=1 Tail=1 Üres a sor (Head = Tail)

Reprezentáció Például Head=1 Tail=2 10 In

Reprezentáció Például Head=1 Tail=3 10 20 In

Reprezentáció Például Head=1 Tail=4 10 20 15 In

Reprezentáció Például Head=1 Tail=5 10 20 15 13 In

Reprezentáció Például Head=2 Tail=5 10 20 15 13 Out

Reprezentáció Például Head=3 Tail=5 10 20 15 13 Out

Reprezentáció Például Head=3 Tail=6 10 20 15 13 23 In

Reprezentáció Például Head=3 Tail=7 10 20 15 13 23 67 In

Reprezentáció Például Head=3 Tail=8 10 20 15 13 23 67 1 In

Reprezentáció Például Head=3 Tail=1 10 20 15 13 23 67 1 2 In

Reprezentáció Például Head=3 Tail=2 99 20 15 13 23 67 1 2 In

Reprezentáció Például Head=3 Tail=3 99 88 15 13 23 67 1 2 In Tele a sor (Head = Tail)

Reprezentáció Például Head=3 Tail=3 99 88 15 13 23 67 1 2 Out Üres a sor (Head = Tail)

Reprezentáció Statikus, aritmetikai reprezentáció Mit tegyünk? Például: vezessünk be még egy jelz t a reprezentációba, ami mutatja, hogy a sor üres-e empt kezdetben igaz, kés bb vizsgáljuk, és megfelel en állítjuk vezessünk be még egy attribútumot a reprezentációba, ami mutatja, hogy hány elem van a sorban - count

Reprezentáció Reprezentáció dinamikus A tömb helyett Elem objektumok láncolata a sor Head referencia tárolja a sor elejét Tail referencia tárolja a sor végét Ha a Head és Tail nem mutat érvényes elemre, akkor üres A Head fel li végér l veszünk ki elemet A Tail fel li végére teszünk be elemet Tetsz leges mennyiség elem belefér

Reprezentáció Reprezentáció dinamikus Head Tail

Reprezentáció Reprezentáció dinamikus Head Tail 60

Reprezentáció Reprezentáció dinamikus Head Tail 60 10

Reprezentáció Reprezentáció dinamikus Head Tail 60 10 1

Reprezentáció Reprezentáció dinamikus Head Tail 60 10 1 3

Reprezentáció Reprezentáció dinamikus Head Tail 10 1 3

Reprezentáció Reprezentáció dinamikus Head Tail 1 3

Reprezentáció Reprezentáció dinamikus Head Tail 1 3 20

Reprezentáció Reprezentáció dinamikus Head Tail 1 3 20 30

Reprezentáció Reprezentáció dinamikus Head Tail 3 20 30

Reprezentáció Reprezentáció dinamikus Head Tail 20 30

Reprezentáció Reprezentáció dinamikus Head Tail 30

Sor megvalósítás

Implementáció statikus Implementáció statikus

Implementáció statikus Implementáció statikus

Implementáció statikus Implementáció statikus

Implementáció statikus Implementáció statikus

UML UML dinamikus Sor -Head: Elem -Tail: Elem +empty(): void +In(mit:int): void +Out(): int +First(): int +isempty(): boolean Elem +érték: int +következ : Elem

Implementáció dinamikus

Implementáció dinamikus Implementáció dinamikus

Implementáció dinamikus Implementáció dinamikus

Implementáció dinamikus Implementáció dinamikus

Lengyel forma

Kifejezések Kifejezések A helyes kifejezés Olyan m veleteket és értékeket tartalmaz, amelyek együttesen értelmezhet ek, van jelentésük Egy kifejezésnek is van típusa, például az 1 + 1 egy szám típusú kifejezés Összetett kifejezések is megfogalmazhatók. Például 5 + 6 (7 + 8). Összetett kifejezések esetén a részkifejezéseknek is helyeseknek kell lenniük Például x + y z

Kifejezések Inx, prex, postx Inx a + b Az el bbi kifejezés átírható, a m veleti jel áthelyezésével: Prex +ab Postx ab+ Prex megel zi a m veleti jel a két operandust Inx a m veleti jel a két operandus között van Postx m veleti jel a két operandus után van

Lengyel forma Lengyel forma Hagyományosan inx kifejezéseket használunk J. Lukasewitz lengyel matematikus használta el ször a post- és prex jelölést (Ezért lengyel forma) Példa I (a + b) (c + d) ab + cd + Példa II (a + b c) (d 3 4) abc +d3 4

Lengyel forma Lengyel forma El nyök A m veletek olyan sorrendben érkeznek, ahogy ki kell értékelni ket A m veletek mindig a operandusok után állnak (pstx) tehét két operandus beolvasása után végrehajtható a m velet (és eltárolható az eredmény újabb operandus gyanánt) Vermekkel lengyelformára lehet alakítani és az átalakított kifejezés kiértékelhet

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 s verem: ( + Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 s verem: ( + Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 s verem: ( + Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 s verem: ( + Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + 3 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + 3 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + 3 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + 3 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + 3 4 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + 3 4 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + 3 4 s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + 3 4 s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Átalakítás Lengyel formára alakítás Bemenet: ( 1 + 2 ) ( 3 4 ) y sorozat: 1 2 + 3 4 s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 1 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 1 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 1 2 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 1 2 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 3 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 3 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 3 3 4 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 3 3 4 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 3 1 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 3 1 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Kiértékelés Lengyel formára alakítás y sorozat: 1 2 + 3 4 v verem: 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

Összefoglaló

Összefoglaló Összefoglaló Sor adatszerkezet Dinamikus és statikus implementáció Lengyelforma Vermekkel

Házi feladat Házi feladat Struktogrammal leírni A lengyelformára hozás algoritmusát A lengyelforma kiértékelésének algoritmusát (Ez nem kötelez, de lesz kötelez házifeladat a leprogramozása.)

Felhasznált el adások Felhasznált el adások 2. el adás Nyékyné Gaizler Judit 3. el adás Nyékyné Gaizler Judit (Illetve új anyagok)