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 felegyhazi.tamas@gmail.com 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,049492 Eldöntés – rekurzív 0,131234 Kiválasztás – rekurzív 0,225806 (Lineáris) Keresés – rekurzív 0,048593 Megszámolás – ciklus 0,145105 Szélsőérték kiválasztás – ciklus 0,147615 Programozási tételGyorsulás Másolás – rekurzív 0,313641 Kiválogatás – rekurzív 0,466898 Szétválogatás – rekurzív 0,349467 Metszet – ciklus 0,739653 Egyesítés – rekurzív 0,181621 Összefésülés – rekurzív 0,305481 Programozási tételCiklusokkalRekurzív Sorozatszámítás 749788 Eldöntés 381331 Kiválasztás 434336 (Lineáris) Keresés 391372 Megszámolás 9781.144 Szélsőérték kiválasztás 11261.321 Másolás 17.46911.990 Kiválogatás 54682.915 Szétválogatás 4.6903.051 Metszet 9.08334.888 Egyesítés 17.48714.311 Összefésülés 13.7039.517 Kovács Magda-díj pályázat 2015/16. 11

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

13 Kovács Magda-díj pályázat 2015/16. 13 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, 1997 2. Angster E.: Programozás tankönyv II., 4KÖR Bt., 5., javított kiadás, 1999, ISBN 963 450 957 6 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 963 216 513 6 4. Kaczur S.: Programozási alapok, 1. kiadás, 2009, ISBN 978-963-06-8122-3 5. 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, 1999 6. Recursive factorial | Recursive Algorithms | Khan Academy, link, 2015. október 30.link 7. Iványi A.: Informatikai algoritmusok I., ELTE Eötvös Kiadó, Budapest, 2004, ISBN 963 463 664 0 8. 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, 1998 9. 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 1586-8567, p. 1-6 (magyar nyelvű szakcikk) 13. h.c., link, 2015. november 3.link 14. Gábor Dénes Főiskola mérnök-informatikus szak tanterve, link, 2015. november 19.link 15. Oracle HR séma, link, 2015. október 2.link 16. Kaczur S.: Programozási technológia, 1. kiadás, 2010, ISBN 978-963-06-8628-0 17. Java SE Development Kit 8 | Downloads, link, 2015. október 5.link 18. NetBeans IDE Download, link, 2015. október 5.link 19. GitHub – Where software is built, link, 2015. október 5.link 20. Enterprise Architect Trial – Sparx System, link,,2015. október 5.link 21. Defining Multithreading Terms, link, 2015. október 18.link 22. J. Ponge: Fork and Join: Java Can Excel at Painless Parallel Programming Too!, link, 2015. október 18.link 23. Elkészült szoftver forráskódja, link, 2016. 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 felegyhazi.tamas@gmail.com 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