Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Hatékony-e a rekurzió? FÉLEGYHÁZI TAMÁS GÁBOR 1 Kovács Magda-díj pályázat 2015/16.

Hasonló előadás


Az előadások a következő témára: "Hatékony-e a rekurzió? FÉLEGYHÁZI TAMÁS GÁBOR 1 Kovács Magda-díj pályázat 2015/16."— Előadás másolata:

1 Hatékony-e a rekurzió? FÉLEGYHÁZI TAMÁS GÁBOR 1 Kovács Magda-díj pályázat 2015/16.

2 A pályamű használati értéke  Cél:  Bemutatni hagyományos algoritmusok nem hagyományos megvalósításait.  Rekurzióval kapcsolatos előítéletek meg- vizsgálása, igazolása vagy cáfolása.  Fejlett programozás-technikai eszközök felhasználásával. Kovács Magda-díj pályázat 2015/16. 2

3 Tartalomjegyzék  Feladatspecifikáció  Programozási tételek  Rekurzió meghatározása  Tervezés  Felhasznált eszközök  Implementáció  Tesztelés  Kapott eredmények  Következtetések  Hivatkozások Kovács Magda-díj pályázat 2015/16. 3

4 Feladatspecifikáció  Elemi és összetett programozási tételek iteratív és rekurzív változatainak összehasonlítása hatékonyság szempontjából.  Algoritmus működése.  Beépített nyelvi elemek működése.  Futási idők mérése nanoszekundumban. Kovács Magda-díj pályázat 2015/16. 4

5 Programozási tételek Elemi: Sorozatszámítás Eldöntés Kiválasztás (Lineáris) keresés Megszámolás Szélsőérték kiválasztás Összetett: Másolás Kiválogatás Szétválogatás Metszet Egyesítés Összefésülés Kovács Magda-díj pályázat 2015/16. 5

6 Rekurzió meghatározása „A rekurzió a ciklusnál bonyolultabb programszerkezet, s mindketten ugyanarra a célra szolgálnak: valamilyen tevékenység ismételt végrehajtására.” „A rekurzió megvalósítása igen nagy központi tárigénnyel járhat.” „A rekurzív megoldás sokszor „rettenetes” futási időnövekedést okoz.” „Az, hogy a matematikusok bevett eszközei és módszerei épülnek e fogalomra, még nem indokolja, hogy a számítástechnikában is használjuk.” „A rekurzió valami nagyon bonyolult dolog, inkább ne foglalkozzunk vele!” [1] Kovács Magda-díj pályázat 2015/16. 6

7 Model  Adatok beolvasása adatbázisból a memóriába.  Adatok előkészítése a feldolgozásra. Controller  Vezérli a programot, kapcsolatot teremt a nézet és az adatszerkezet között. View Kovács Magda-díj pályázat 2015/16. 7 Tervezés

8 Felhasznált eszközök  Oracle HR schema adatbázis  Java 1.8.0_65-b17  NetBeans Kovács Magda-díj pályázat 2015/16. 8

9 Implementáció  Log file  Grafikon generálása  Grafikon megjelenítése  Tesztelés Kovács Magda-díj pályázat 2015/16. 9

10 Tesztelés Kovács Magda-díj pályázat 2015/16. 10

11 Kapott eredmények Programozási tételGyorsulás Sorozatszámítás – ciklus 0, Eldöntés – rekurzív 0, Kiválasztás – rekurzív 0, (Lineáris) Keresés – rekurzív 0, Megszámolás – ciklus 0, Szélsőérték kiválasztás – ciklus 0, Programozási tételGyorsulás Másolás – rekurzív 0, Kiválogatás – rekurzív 0, Szétválogatás – rekurzív 0, Metszet – ciklus 0, Egyesítés – rekurzív 0, Összefésülés – rekurzív 0, Programozási tételCiklusokkalRekurzív Sorozatszámítás Eldöntés Kiválasztás (Lineáris) Keresés Megszámolás Szélsőérték kiválasztás Másolás Kiválogatás Szétválogatás Metszet Egyesítés Összefésülés Kovács Magda-díj pályázat 2015/16. 11

12 Kovács Magda-díj pályázat 2015/ Program működése

13 Kovács Magda-díj pályázat 2015/ Program működése

14 Következtetések  Meglepő: egyes tételeknél a rekurzív megvalósítás gyorsabb az iteratívnál.  „Kritikus tömegre” „megéri” a rekurzivitást alkalmazni.  Ugyanakkor a call stack erősen korlátozza a rekurzió mélységét, így a sorozat(ok) maximális hosszát. Kovács Magda-díj pályázat 2015/16. 14

15 Hivatkozások 1. Szlávi P., Zsakó L.: Módszeres programozás: Rekurzió, Mikrológia 4., ELTE TTK Informatikai Tanszékcsoport, 4. kiadás, Angster E.: Programozás tankönyv II., 4KÖR Bt., 5., javított kiadás, 1999, ISBN II.K. 3. Angster E.: Objektumorientált tervezés és programozás, Java, 2. kötet, 4KÖR Bt., 2., átdolgozott kiadás, 2004, ISBN Kaczur S.: Programozási alapok, 1. kiadás, 2009, ISBN Szlávi P., Zsakó L.: Módszeres programozás: Programozási tételek, Mikrológia 19., ELTE TTK Informatikai Tanszékcsoport, 4. javított kiadás, Recursive factorial | Recursive Algorithms | Khan Academy, link, október 30.link 7. Iványi A.: Informatikai algoritmusok I., ELTE Eötvös Kiadó, Budapest, 2004, ISBN Pap Gné., Szlávi P., Zsakó L.: Módszeres programozás: Rekurzív típusok, Mikrológia 27., ELTE TTK Informatikai Tanszékcsoport, 3. javított kiadás, Pintér L.: Programozási tételek rekurzív megvalósítása, Mikrológia 10., ELTE TTK Informatikai Tanszékcsoport, 4. kiadás, 1995 Kovács Magda-díj pályázat 2015/16. 15

16 Hivatkozások 12. Kaczur S.: A rekurzió tanításához használható mintaprogramok Java nyelven, A Dunaújvárosi Főiskola Közleményei, Dunaújváros, XXXI., 2009, ISSN , p. 1-6 (magyar nyelvű szakcikk) 13. h.c., link, november 3.link 14. Gábor Dénes Főiskola mérnök-informatikus szak tanterve, link, november 19.link 15. Oracle HR séma, link, október 2.link 16. Kaczur S.: Programozási technológia, 1. kiadás, 2010, ISBN Java SE Development Kit 8 | Downloads, link, október 5.link 18. NetBeans IDE Download, link, október 5.link 19. GitHub – Where software is built, link, október 5.link 20. Enterprise Architect Trial – Sparx System, link,,2015. október 5.link 21. Defining Multithreading Terms, link, október 18.link 22. J. Ponge: Fork and Join: Java Can Excel at Painless Parallel Programming Too!, link, október 18.link 23. Elkészült szoftver forráskódja, link, június 15.link Kovács Magda-díj pályázat 2015/16. 16

17 Hatékony-e a rekurzió? FÉLEGYHÁZI TAMÁS GÁBOR 17 Kovács Magda-díj pályázat 2015/16.


Letölteni ppt "Hatékony-e a rekurzió? FÉLEGYHÁZI TAMÁS GÁBOR 1 Kovács Magda-díj pályázat 2015/16."

Hasonló előadás


Google Hirdetések