Rekurzív algoritmusok

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Rekurzív algoritmusok"

Átírás

1 Rekurzív algoritmusok 11. előadás Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar november 14. Sergyán (OE NIK) AAO november / 32

2 Rekurzív algoritmusok 1 Faktoriális 2 Fibonacci számok 3 Binomiális együtthatók 4 Ackermann függvény 5 Egyszerű feladatok 6 Keresések 7 Rekurzív rendezés 8 Hanoi tornyai Sergyán (OE NIK) AAO november / 32

3 Faktoriális Matematikai definíció Az n N faktoriálisa (jelölés: n!) alatt az első n darab pozitív természetes szám szorzatát értjük, n = 0 esetén pedig 1-et. 1, ha n = 0, n! = n i, ha n 1. i=1 Megvalósítás az Összegzés tétellel fakt(n, R) R := 1 Ciklus i := 1-től N-ig R := R i Ciklus vége Eljárás vége Sergyán (OE NIK) AAO november / 32

4 Rekurzív faktoriális Matematikai definíció A faktoriális rekurzív módon is definiálható: { 1, ha n = 0, n! = n (n 1)!, ha n 1. Függvénnyel leírva fakt(n) = { 1, ha n = 0, n fakt(n 1), ha n 1. Összetevők A rekurzív definíciónak két része van: Alapeset (itt most az n = 0 eset) Indukciós lépés: visszavezetjük a problémát kisebb számok esetére. Sergyán (OE NIK) AAO november / 32

5 Rekurzív faktoriális Rekurzív algoritmus fakt(n) Ha N = 0, akkor return(1) return(n fakt(n 1)) Függvény vége Kiértékelés fakt(5) = 5 fakt(4) 5 4 fakt(3) fakt(2) fakt(1) fakt(0) Sergyán (OE NIK) AAO november / 32

6 Rekurzió megvalósítása Problémák Ugyanabból a függvényből egyszerre több is fut? Előző példában a fakt függvényből egyszerre 6 is futott. A függvényen belüli lokális változók értéke felüĺıródik? Előző példában honnan lehet tudni, hogy N értéke éppen mennyi? Megoldás Minden meghívott függvény más, csak a nevük azonos. A memóriában eltároljuk, hogy honnan hívtunk egy függvény, majd ide lehet visszatérni később. A lokális változók minden egyes függvényben külön-külön létrejönnek. Azonos nevű, de különböző változókról van szó, hiszen a függvények is különbözőek. Az ezen célra fenntartott memória túlcsordúlhat túl sok függvényhívás esetén. Sergyán (OE NIK) AAO november / 32

7 Rekurzió megvalósítása R :=fakt(5) Ha 5 = 0, akkor... R := 5 fakt(4) Függvény vége R :=fakt(4) Ha 4 = 0, akkor... R := 4 fakt(3) Függvény vége R :=fakt(3) Ha 3 = 0, akkor... R := 3 fakt(2) Függvény vége R :=fakt(0) Ha 0 = 0, akkor R := 1... Függvény vége R :=fakt(1) Ha 1 = 0, akkor... R := 1 fakt(0) Függvény vége R :=fakt(2) Ha 2 = 0, akkor... R := 2 fakt(1) Függvény vége Sergyán (OE NIK) AAO november / 32

8 Rekurzív algoritmusok 1 Faktoriális 2 Fibonacci számok 3 Binomiális együtthatók 4 Ackermann függvény 5 Egyszerű feladatok 6 Keresések 7 Rekurzív rendezés 8 Hanoi tornyai Sergyán (OE NIK) AAO november / 32

9 Fibonacci számok Nyulak szaporodásának vizsgálata Fibonacci a nyulak szaporodását vizsgálta, és a következőket tapasztalta: Minden nyúlpár - amikor szaporodik -, akkor két utóddal járul hozzá a népességhez. A nyulak a születésüket követően két egymás utáni időpontban szaporodnak. Vizsgáljuk, hogy adott időpontban hány új nyúlpár születik. Matematikai leírás Jelölje Fib(n), hogy az n-edik szaporodáskor hány új nyúlpár születik. Kezdetben van egy nyúlpár: Fib(0) = 1 Következő szaporodáskor ez a pár szaporodik: Fib(1) = 1 Minden más szaporodáskor az előző és az azt megelőző szaporodáskor született nyulak járulnak hozzá a szaporodáshoz (mégpedig egy-egy nyúlpárral). Tehát: Fib(n) = Fib(n 1) + Fib(n 2) Sergyán (OE NIK) AAO november / 32

10 Fibonacci számok Rekurzív algoritmus Fib(N) Ha N 1 akkor return(1) return(fib(n 1) + Fib(N 2)) Függvény vége Sergyán (OE NIK) AAO november / 32

11 Fibonacci számok Az algoritmus megvalósítható rekurzió nélkül is. Iteratív algoritmus Fib(N) a := 1 e := 1 Ciklus i := 1-től N 1-ig temp := a + e e := a a := temp Ciklus vége return(a) Függvény vége Sergyán (OE NIK) AAO november / 32

12 Rekurzív algoritmusok 1 Faktoriális 2 Fibonacci számok 3 Binomiális együtthatók 4 Ackermann függvény 5 Egyszerű feladatok 6 Keresések 7 Rekurzív rendezés 8 Hanoi tornyai Sergyán (OE NIK) AAO november / 32

13 Binomális együtthatók Matematikai definíció ( ) n = k Algoritmus 1, ( ha k = 0 n 1 ) ( k + n 1 k 1), ha 0 < k < n 1, ha k = n Bin(N, K) Ha (K = 0) vagy (K = N) akkor return(1) return(bin(n 1, K) + Bin(N 1, K 1)) Függvény vége Sergyán (OE NIK) AAO november / 32

14 Rekurzív algoritmusok 1 Faktoriális 2 Fibonacci számok 3 Binomiális együtthatók 4 Ackermann függvény 5 Egyszerű feladatok 6 Keresések 7 Rekurzív rendezés 8 Hanoi tornyai Sergyán (OE NIK) AAO november / 32

15 Ackermann függvény Matematikai definíció n + 1, ha m = 0, A(m, n) = A(m 1, 1), ha m > 0 és n = 0, A (m 1, A(m, n 1)), ha m > 0 és n > 0. Algoritmus Ackermann(M, N) Ha M = 0 akkor return(n + 1) Ha (M > 0) és (N = 0) akkor return(ackermann(m 1, 1)) return(ackermann(m 1, Ackermann(M, N 1))) Függvény vége Sergyán (OE NIK) AAO november / 32

16 Rekurzív algoritmusok 1 Faktoriális 2 Fibonacci számok 3 Binomiális együtthatók 4 Ackermann függvény 5 Egyszerű feladatok 6 Keresések 7 Rekurzív rendezés 8 Hanoi tornyai Sergyán (OE NIK) AAO november / 32

17 Szöveg megfordítása Feladat Az X változóban adott egy N hosszúságú szöveg. Feladat, hogy a karakterek sorrendjét megfordítsuk. Például: abcdef fedcba Rekurzív megvalósítás Fordítás(X, N) Ha N = 1 akkor return(x ) különben return(fordítás(x [2..N], N 1) + X [1]) Függvény vége Sergyán (OE NIK) AAO november / 32

18 Palindrom Feladat Egy N-jegyű szám palindrom, ha az i-edik számjegye megegyezik az (N + 1 i)-edik számjegyével. Például: Egy szám számjegyeit tároljuk az N elemű X tömbben. Egy egyjegyű szám palindrom. Ha a két szélső számjegy azonos, akkor vizsgáljuk a szélsők nélküli számot. Sergyán (OE NIK) AAO november / 32

19 Palindrom Rekurzív megvalósítás Palindrom e(x, N) Ha N <= 1 akkor return(igaz) Ha X [1] = X [N] akkor return(palindrom e(x [2..N 1], N 2)) return(hamis) Eljárás vége Sergyán (OE NIK) AAO november / 32

20 Hatványozás Az a pozitív egész szám n-edik hatványát kiszámíthatjuk az alábbi módon: Algoritmus Hatvány(a, n) temp := 1 Ciklus i := 1-től n-ig temp := temp a Ciklus vége return(temp) Függvény vége Sergyán (OE NIK) AAO november / 32

21 Hatványozás Ötlet { a n a n/2 a = n/2, ha n páros a (n 1)/2 a (n 1)/2 a, ha n páratlan Rekurzív megvalósítás Hatvány(a, n) Ha n = 0 akkor return(1) Ha n páros, akkor return(hatvány(a, n/2)*hatvány(a, n/2)) return(hatvány(a, (n 1)/2)*Hatvány(a, (n 1)/2)*a) Függvény vége Sergyán (OE NIK) AAO november / 32

22 Rekurzív algoritmusok 1 Faktoriális 2 Fibonacci számok 3 Binomiális együtthatók 4 Ackermann függvény 5 Egyszerű feladatok 6 Keresések 7 Rekurzív rendezés 8 Hanoi tornyai Sergyán (OE NIK) AAO november / 32

23 Lineáris keresés Ötlet a rekurzív megvalósításhoz Tegyük fel, hogy nem rendezett a sorozatunk Ha az X sorozat első eleme nem egyezik meg a keresett Y -nal, akkor hívjuk meg ismét a függvényt, de már csak a másodiktól az N-edik elemig terjedő részsorozattal. E jelölje a vizsgálandó részsorozat első elemének indexét, U pedig az utolsó elem indexét A függvény visszatérési értéke legyen 0, ha Y nincs benne X -ben, egyéb esetben pedig az X -beli indexe annak az elemnek, amely értéke egyenlő Y -nal Sergyán (OE NIK) AAO november / 32

24 Lineáris keresés Rekurzív megvalósítás Keresés(X, E, U, Y ) Ha E > U akkor return(0) Ha X [E] = Y akkor return(e) return(keresés(x, E + 1, U, Y )) Függvény vége Sergyán (OE NIK) AAO november / 32

25 Logaritmikus keresés Ebben az esetben tegyük fel, hogy növekvő módon rendezett a sorozatunk. Rekurzív megvalósítás Keresés(X, E, U, Y ) Ha E > U akkor return(0) [ ] K := (E + U)/2 Elágazás X [K] = Y esetén return(k) X [K] < Y esetén return(keresés(x, K + 1, U, Y )) X [K] > Y esetén return(keresés(x, E, K 1, Y )) Függvény vége Sergyán (OE NIK) AAO november / 32

26 Rekurzív algoritmusok 1 Faktoriális 2 Fibonacci számok 3 Binomiális együtthatók 4 Ackermann függvény 5 Egyszerű feladatok 6 Keresések 7 Rekurzív rendezés 8 Hanoi tornyai Sergyán (OE NIK) AAO november / 32

27 Quicksort Alapötlet Válogassuk szét úgy a rendezendő X tömb elemeit, hogy az első elemnél kisebb értékű elemek az első elem elé, a nagyobbak pedig mögé kerüljenek. Végezzük el ezt a szétválogatást az első elemnél kisebbekre, illetve nagyobbakra külön-külön. Ez az eljárás az Oszd meg és uralkodj! elvet használja. Sergyán (OE NIK) AAO november / 32

28 Quicksort Szétválogató eljárás Szétválogat(X, E, U, K) K := E; L := U; A := X [K] Ciklus amíg K < L Ciklus amíg (K < L) és (X [L] A) L := L 1 Ciklus vége Ha K < L akkor X [K] := X [L]; K := K + 1 Ciklus amíg (K < L) és (X [K] A) K := K + 1 Ciklus vége Ha K < L akkor X [L] := X [K]; L := L 1 Ciklus vége X [K] := A Eljárás vége Sergyán (OE NIK) AAO november / 32

29 Quicksort Rekurzív hívás Quick(X, E, U) Szétválogat(X, E, U, K) Ha K E > 1 akkor Quick(X, E, K 1) Ha U K > 1 akkor Quick(X, K + 1, U) Eljárás vége Sergyán (OE NIK) AAO november / 32

30 Rekurzív algoritmusok 1 Faktoriális 2 Fibonacci számok 3 Binomiális együtthatók 4 Ackermann függvény 5 Egyszerű feladatok 6 Keresések 7 Rekurzív rendezés 8 Hanoi tornyai Sergyán (OE NIK) AAO november / 32

31 Hanoi tornyai Feladat Az egyik szélső rúdról át kell pakolni a korongokat a másik szélső rúdra. Segítségül a középső rúd is használható. Egyszerre egyetlen korong mozgatható. Csak felül lévő korongot lehet mozgatni egyik rúdról a másikra. Egy korong nem rakható nála kisebb méretű korongra. Sergyán (OE NIK) AAO november / 32

32 Hanoi tornyai Megoldási ötlet Ha N 1 korongot át tudnánk mozgatni a középső rúdra, akkor az N-edik korong ezután már áttehető a jobbszélső rúdra, majd a középső rúdról kell az N 1 korongot a jobbszélsőre tenni. Ez egy rekurzív gondolat! A rekurzió biztos leáll, mert a legkisebb korong mindig felül van, és bárhonnan bárhova mozgatható. Algoritmus Hanoi(N, Forras, Cel, Seged) Ha N > 0 akkor Hanoi(N 1, Forras, Seged, Cel) Ki: N, Forras, Cel Hanoi(N 1, Seged, Cel, Forras) Eljárás vége Sergyán (OE NIK) AAO november / 32

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek Sorozatszámítás Eljárás Sorozatszámítás(N, X, S) R R 0 Ciklus i 1-től N-ig R R művelet A[i] A : számokat tartalmazó tömb N : A tömb elemszáma R : Művelet eredménye Eldöntés

Részletesebben

Összetett programozási tételek

Összetett programozási tételek Összetett programozási tételek 3. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 19. Sergyán (OE NIK) AAO 03 2011. szeptember

Részletesebben

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24. Rendezések 8. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. október 24. Sergyán (OE NIK) AAO 08 2011. október 24. 1 / 1 Felhasznált irodalom

Részletesebben

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.

Részletesebben

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

Részletesebben

Algoritmizálás, adatmodellezés tanítása 7. előadás

Algoritmizálás, adatmodellezés tanítása 7. előadás Algoritmizálás, adatmodellezés tanítása 7. előadás Oszd meg és uralkodj! Több részfeladatra bontás, amelyek hasonlóan oldhatók meg, lépései: a triviális eset (amikor nincs rekurzív hívás) felosztás (megadjuk

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia Rekurzió, Fa adatszerkezet Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 18. Rekurzió Rekurzió

Részletesebben

Informatikai tehetséggondozás:

Informatikai tehetséggondozás: Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Rekurzió TÁMOP-4.2.3.-12/1/KONV 1. A faktoriális függvény A rekurzió, mint eszköz felbukkan specifikációs, algoritmikus, implementációs

Részletesebben

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

Részletesebben

Algoritmusok pszeudókód... 1

Algoritmusok pszeudókód... 1 Tartalomjegyzék Algoritmusok pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 2 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 3 Minimum

Részletesebben

Algoritmusok pszeudókód... 1

Algoritmusok pszeudókód... 1 Tartalomjegyzék Algoritmusok pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 1 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 2 Minimum

Részletesebben

Tartalomjegyzék Algoritmusok - pszeudókód... 1 42

Tartalomjegyzék Algoritmusok - pszeudókód... 1 42 Tartalomjegyzék Algoritmusok - pszeudókód... 1 42 Abszolút érték...1 Hányados ismételt kivonással...1 Legnagyobb közös osztó... 1 2 Páros számok szűrése...2 Palindrom számok... 2 3 Orosz szorzás...3 Minimum

Részletesebben

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 9. ÖSSZETETT FELADATOK...111 9.1. ELEMI ALGORITMUSOK ÖSSZEÉPÍTÉSE...111 9.2. ÖSSZEFOGLALÁS...118 9.3. GYAKORLÓ FELADATOK...118

Részletesebben

REKURZIÓ. Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát.

REKURZIÓ. Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát. 1. A REKURZIÓ FOGALMA REKURZIÓ Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát. 1.1 Bevezető példák: 1.1.1 Faktoriális Nemrekurzív

Részletesebben

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések) Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),

Részletesebben

2015, Diszkrét matematika

2015, Diszkrét matematika Diszkrét matematika 4. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2015, őszi félév Miről volt szó az elmúlt előadáson? Számtartományok:

Részletesebben

Rekurzió. Dr. Iványi Péter

Rekurzió. Dr. Iványi Péter Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(

Részletesebben

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

Részletesebben

Algoritmusok, adatszerkezetek, objektumok

Algoritmusok, adatszerkezetek, objektumok Algoritmusok, adatszerkezetek, objektumok 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 14. Sergyán (OE NIK) AAO 01 2011.

Részletesebben

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

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10. Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /

Részletesebben

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása 1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Bánsághi Anna 2014 Bánsághi Anna 1 of 68 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

Tartalomjegyzék Algoritmusok - pszeudókód... 1 42

Tartalomjegyzék Algoritmusok - pszeudókód... 1 42 Tartalomjegyzék Algoritmusok - pszeudókód... 1 42 Abszolút érték...1 Hányados ismételt kivonással...1 Legnagyobb közös osztó... 1 2 Páros számok szűrése...2 Palindrom számok...2 Orosz szorzás...3 Minimum

Részletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek Sorozatszámítás tétele Például az X tömbben kövek súlyát tároljuk. Ha ki kellene számolni az összsúlyt, akkor az S = f(s, X(i)) helyére S = S + X(i) kell írni. Az f0 tartalmazza

Részletesebben

Algoritmusok - pszeudókód... 1

Algoritmusok - pszeudókód... 1 Tartalomjegyzék Algoritmusok - pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 1 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 2 Minimum

Részletesebben

Programozási tételek. Dr. Iványi Péter

Programozási tételek. Dr. Iványi Péter Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,

Részletesebben

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia

Részletesebben

Egyszerű programok készítése... 56 Kifejezések... 57 Bitszintű műveletek... 57 Relációs műveletek... 58

Egyszerű programok készítése... 56 Kifejezések... 57 Bitszintű műveletek... 57 Relációs műveletek... 58 Tartalomjegyzék Algoritmusok - pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 1 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 3 Minimum

Részletesebben

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok és programozási tételek

Részletesebben

Algoritmizálás, adatmodellezés tanítása 1. előadás

Algoritmizálás, adatmodellezés tanítása 1. előadás Algoritmizálás, adatmodellezés 1. előadás Az algoritmus fogalma végrehajtható (van hozzá végre-hajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végre-hajtási

Részletesebben

Optimalizációs stratégiák 1.

Optimalizációs stratégiák 1. Optimalizációs stratégiák 1. Nyers erő, Oszd meg és uralkodj, Feljegyzéses, Dinamikus, Mohó előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János

Részletesebben

Nyugat-magyarországi Egyetem Geoinformatikai Kara. Prof. Dr. Závoti József. Matematika III. 1. MA3-1 modul. Kombinatorika

Nyugat-magyarországi Egyetem Geoinformatikai Kara. Prof. Dr. Závoti József. Matematika III. 1. MA3-1 modul. Kombinatorika Nyugat-magyarországi Egyetem Geoinformatikai Kara Prof. Dr. Závoti József Matematika III. 1. MA3-1 modul Kombinatorika SZÉKESFEHÉRVÁR 2010 Jelen szellemi terméket a szerzői jogról szóló 1999. évi LXXVI.

Részletesebben

Objektum Orientált Programozás VII.

Objektum Orientált Programozás VII. Objektum Orientált Programozás VII. Összetett programozási tételek Programozási tételek összeépítése Feladatok ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy

Részletesebben

2016, Diszkrét matematika

2016, Diszkrét matematika Diszkrét matematika 7. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, őszi félév Miről volt szó az elmúlt előadáson? az ord, chr függvények

Részletesebben

Gyakorló feladatok az 1. nagy zárthelyire

Gyakorló feladatok az 1. nagy zárthelyire Gyakorló feladatok az 1. nagy zárthelyire 2012. október 7. 1. Egyszerű, bevezető feladatok 1. Kérjen be a felhasználótól egy sugarat. Írja ki az adott sugarú kör kerületét illetve területét! (Elegendő

Részletesebben

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Programozási tételek, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok

Részletesebben

ELEMI PROGRAMOZÁSI TÉTELEK

ELEMI PROGRAMOZÁSI TÉTELEK ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk

Részletesebben

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Sorozatok I. DEFINÍCIÓ: (Számsorozat) A számsorozat olyan függvény, amelynek értelmezési tartománya a pozitív egész számok halmaza, értékkészlete a valós számok egy részhalmaza. Jelölés: (a n ), {a n }.

Részletesebben

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! valós adatokat növekvő sorrendbe rendezi és egy sorba kiírja

Részletesebben

I. Specifikáció készítés. II. Algoritmus készítés

I. Specifikáció készítés. II. Algoritmus készítés Tartalomjegyzék I. Specifikáció készítés...2 II. Algoritmus készítés...2 Egyszerű programok...6 Beolvasásos feladatok...10 Elágazások...10 Ciklusok...1 Vegyes feladatok...1 1 I. Specifikáció készítés A

Részletesebben

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum. Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi

Részletesebben

Láncolt listák. Egyszerű, rendezett és speciális láncolt listák. Programozás II. előadás. Szénási Sándor

Láncolt listák. Egyszerű, rendezett és speciális láncolt listák. Programozás II. előadás.  Szénási Sándor Láncolt listák Egyszerű, rendezett és speciális láncolt listák előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Láncolt

Részletesebben

Haladó rendezések. PPT 2007/2008 tavasz.

Haladó rendezések. PPT 2007/2008 tavasz. Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés

Részletesebben

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb 1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb #include main() { int a, b; printf( "a=" ); scanf( "%d", &a ); printf( "b=" ); scanf( "%d", &b ); if( a< b ) { inttmp = a; a =

Részletesebben

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

Programozás alapjai II. (7. ea) C++ Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

Részletesebben

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat 9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:

Részletesebben

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás.  Szénási Sándor. B-fa Felépítés, alapvető műveletek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar B-fa Felépítése Beszúrás művelete Törlés

Részletesebben

Arany Dániel Matematikai Tanulóverseny 2014/2015-ös tanév első (iskolai) forduló Haladók II. kategória

Arany Dániel Matematikai Tanulóverseny 2014/2015-ös tanév első (iskolai) forduló Haladók II. kategória Bolyai János Matematikai Társulat Arany Dániel Matematikai Tanulóverseny 01/01-ös tanév első iskolai) forduló Haladók II. kategória Megoldások és javítási útmutató 1. Adott az alábbi két egyenletrendszer:

Részletesebben

Programoza s I. 10. elo ada s Rendezett to mbo k. Sergya n Szabolcs

Programoza s I. 10. elo ada s Rendezett to mbo k. Sergya n Szabolcs 10. elo ada s Rendezett to mbo k Sergya n Szabolcs sergyan.szabolcs@nik.uni-obuda.hu O budai Egyetem Neumann Ja nos Informatikai Kar Alkalmazott Informatikai Inte zet 1 / 5 Tartalom 1 Kerese sek rendezett

Részletesebben

Informatikai tehetséggondozás:

Informatikai tehetséggondozás: Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Rekurzió memorizálással TÁMOP-.2.3.-12/1/KONV Bajok a rekurzióval Hely: nagyra dagadt memóriaméret az ismétlődő eljáráshívások miatt.

Részletesebben

ARCHIMEDES MATEMATIKA VERSENY

ARCHIMEDES MATEMATIKA VERSENY Koszinusztétel Tétel: Bármely háromszögben az egyik oldal négyzetét megkapjuk, ha a másik két oldal négyzetének összegéből kivonjuk e két oldal és az általuk közbezárt szög koszinuszának kétszeres szorzatát.

Részletesebben

Számláló rendezés. Példa

Számláló rendezés. Példa Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a

Részletesebben

ő á ö é é í í ó ű á ő é é ő á á á é á é á é é é é ő é á á é é é é ö ö ú é íí ü é é ú ő ő é ó í é é é é ó í é é é ü ö ö á é ó é ő ó é á í ó é í ü é é á é é í é é ü é é á í ó í é ü ö ö é é ó ó é ó ó é á

Részletesebben

Ü Á É É í Ő É Ő Á Ü Ó í Á É Ü Á É É í ŐÉ Ő Á Ü ü Ó Ó ö ő ö ö ö ő ó Ó ö ű ö ő ó Ó Ó ö ö Ó í ő ü ü ü Ü Á É í ő ő ü ú í ú Ü ű ö ü ö ü ü ú Ü í í ó ó É Ö ü ő ü ö ú Ü ö ö ü ő ő í ő Á Ó Ó í Ó ú ő ó í Ö Ó ö ö

Részletesebben

ó ö ó őé é ü ő É ö ó ő é ű Ü ú é ü é ő ó ó ó é ő ó é é ó ö ó őé é Ü ő ó ő ú ó é ű Ü ú é ü é ó ó ö é ő ó é ó é ó ó ó ö ó ó őé é ü ő ő őé ü é ó ó ő é ű ü ú é ü é ő ó ö ó é ó é é ó ó Ó Á Á Á é é é ő ő é é

Részletesebben

ő ö é Ü ü é Ó é é ú ü ö ű é é é é í Ü Ö ö ö ö ü ö é é Ó é é ő é ű í ű ő ő é é é ő é é é Ü Ü Ö Ö ő Ö é ü ö ü ő é é é ő ő é ü í ő é ő ő é é é é é é é é ő í ö é ö ő é ő é é ő é ü ő é é é é ú ő é é ő ő é é

Részletesebben

ö ö É Ú Á í ö í ö ö öé ö í ö ö Ö Ö Ö ó ó ó ö Ö í í í ó ó Ö í Ö ű í ö ő í ő ü Ö ű í í Ö ó í ű Ö ó í í ó ó ö í Ö Ö Ö ű ó ó ő ő ő ő í ó ó í ó ű ó Ö Ö ű í ő ú ó ő Ö Ö ö Ö ü Ő ö ü ó ó í í ö ü ő Ö ü í ú ó ó

Részletesebben

Í Á ÓÉ Ú Á ö ú ö ó ö ü ö ó ö ü ö ó ö ú ú ö ú ó ó ö ó ó ó ö ó ó ű ó ö ó ö ö ú ó ó ú ö Ö ó ö Ö ö ó ó ó ö ö ú ó ö ú ó ó ó ü ó ú ó ö ö ú ó ó Á Á ú ó ü ö Ö ó ö ö ó ö ú Á ö ú ö ö ö ö ö ú ö ú ü ö ú ű ö ö ó ó

Részletesebben

Í Í Á Í Á Ü Ö ü Á ü ó Í ó ű ó ü ó ó ó ú ű ó ó ü ű ó ó ű ó ü ü ü ű Í ű ü ü ű ó ű ü ó ű ü ű ű ü ű óé ű ü ó ű ű ü ü ó ú ü ű ó ü ü É ü ó ó ű ó ó ó ú ó ü ó ü ű ü ó ü ú ó Í ó ó ó ó ó ü ü ó ó ú ó ű ü ú ú ó ü

Részletesebben

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } Funkcionális és logikai programozás { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi ` 1 Jelenlét: Követelmények, osztályozás Az első 4 előadáson

Részletesebben

2015, Diszkrét matematika

2015, Diszkrét matematika Diszkrét matematika 5. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2015, őszi félév Miről volt szó az elmúlt előadáson? számtani, mértani,

Részletesebben

Matematika tanmenet 2. osztály részére

Matematika tanmenet 2. osztály részére 2. osztály részére 2014-2015. Izsáki Táncsics Mihály Általános Iskola és Alapfokú Művészeti Iskola Készítette: Molnárné Tóth Ibolya Témakörök 1. Témakör: Év eleji ismétlés /1-24. óra/..3-5. oldal 2. Témakör:

Részletesebben

4. Sorozatok. 2. Igazoljuk minél rövidebben, hogy a következő egyenlőség helyes: 100 =

4. Sorozatok. 2. Igazoljuk minél rövidebben, hogy a következő egyenlőség helyes: 100 = 4. Sorozatok Megjegyzés: A szakirodalomban használt a sorozat tagjáról, máskor eleméről beszélni. Az alábbiakban mindkét kifejezést használtuk megtartva a feladatok eredeti fogalmazását. I. Feladatok.

Részletesebben

Adatszerkezetek 7a. Dr. IványiPéter

Adatszerkezetek 7a. Dr. IványiPéter Adatszerkezetek 7a. Dr. IványiPéter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér () Nincsennek hurkok!!! 2 Bináris fák Azokat a

Részletesebben

Programozás alapjai. 5. előadás

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória

Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória Bolyai János Matematikai Társulat Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória Megoldások és javítási útmutató 1. Az a és b befogójú derékszögű háromszögnek

Részletesebben

konvergensek-e. Amennyiben igen, számítsa ki határértéküket!

konvergensek-e. Amennyiben igen, számítsa ki határértéküket! 1. Határértékek 1. Állapítsa meg az alábbi sorozatokról, hogy van-e határértékük, konvergensek-e. Amennyiben igen, számítsa ki határértéküket! 2 2...2 2 (n db gyökjel), lim a) lim n b) lim n (sin(1)) n,

Részletesebben

Gyakorló feladatok. Az alaputasítások olyanok, mint C-ben. (Részleteket ld. segedletek/02.pdf vagy bármelyik Java tutorial.)

Gyakorló feladatok. Az alaputasítások olyanok, mint C-ben. (Részleteket ld. segedletek/02.pdf vagy bármelyik Java tutorial.) Gyakorló feladatok Az alaputasítások olyanok, mint C-ben. (Részleteket ld. segedletek/02.pdf vagy bármelyik Java tutorial.) 1. Adott egy pozitív egész számokból álló tömb. Hozzunk létre egy másik tömböt,

Részletesebben

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

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási

Részletesebben

Rekurzív logikai játékok

Rekurzív logikai játékok Rekurzív logikai játékok Vígh Viktor SZTE Bolyai Intézet 2014. december 11. Szent László Gimnázium, Budapest Hanoi tornyai Forrás: http://ordoglakat.blog.hu/2011/03/20/hanoi_tornyai Hanoi tornyai Szabály:

Részletesebben

Programozás C nyelven 6. ELŐADÁS. Sapientia EMTE

Programozás C nyelven 6. ELŐADÁS. Sapientia EMTE Programozás C nyelven 6. ELŐADÁS Sapientia EMTE 2015-16 ELJÁRÁSOK: void-függvények Olvassu k be szá ot a bille tyűzetről, és írassuk ki a égyzeteiket a képer yőre. int main(){ int n, i, szam; cin >> n;

Részletesebben

Láncolt Listák. Adat1 Adat2 Adat3 ø. Adat1 Adat2 ø Adat3

Láncolt Listák. Adat1 Adat2 Adat3 ø. Adat1 Adat2 ø Adat3 Láncolt Listák Adatszerkezetek Adatszerkezet: Az adatelemek egy olyan véges halmaza, amelyben az adatelemek között szerkezeti összefüggések vannak Megvalósítások: - Tömb, Láncolt lista, Fa, Kupac, Gráf,

Részletesebben

Láncolt listák Témakörök. Lista alapfogalmak

Láncolt listák Témakörök. Lista alapfogalmak Láncolt listák szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Lista alapfogalmai Egyirányú egyszerű láncolt lista Egyirányú rendezett láncolt lista Speciális láncolt listák Témakörök

Részletesebben

Kupacrendezés. Az s sorban lévő elemeket rendezzük a k kupac segítségével! k.empty. not s.isempty. e:=s.out k.insert(e) not k.

Kupacrendezés. Az s sorban lévő elemeket rendezzük a k kupac segítségével! k.empty. not s.isempty. e:=s.out k.insert(e) not k. 10. Előadás Beszúró rendezés Használjuk a kupacokat rendezésre! Szúrd be az elemeket egy kupacba! Amíg a sor ki nem ürül, vedd ki a kupacból a maximális elemet, és tedd az eredmény (rendezett) sorba! 2

Részletesebben

29. Visszalépéses keresés 1.

29. Visszalépéses keresés 1. 29. Visszalépéses keresés 1. A visszalépéses keresés algoritmusa Az eddig megismert algoritmusok bizonyos értelemben nyílegyenesen haladtak elôre. Tudtuk, hogy merre kell mennünk, és minden egyes lépéssel

Részletesebben

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation Visszalépéses módszer (Backtracking) folytatás Permutáció n = 3 esetében: 1 2 3 2 3 1 3 1 2 Eredmény: 3 2 3 1 2 1 123 132 213 231 312 321 permutációk száma: P n = n! romámul: permutări, angolul: permutation

Részletesebben

Rekurzió. Tartalomjegyzék. Készítette: Gál Tamás

Rekurzió. Tartalomjegyzék. Készítette: Gál Tamás Rekurzió Tartalomjegyzék Rekurzió..2 Kérdések, feladatok2 Hatványozás rekurzióval.3 Faktoriális számítás rekurzióval..4 Kérdések, feladatok5 Fibonacci sorozat.6 Kérdések, feladatok6 QuickSort (gyorsrendezés).7

Részletesebben

Láncolt listák. PPT 2007/2008 tavasz.

Láncolt listák. PPT 2007/2008 tavasz. Láncolt listák szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Láncolt listák elvi felépítése Egyirányú egyszerű láncolt lista Egyirányú rendezett láncolt lista Láncolt

Részletesebben

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Feladatok kijelentéseinek megértése

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Feladatok kijelentéseinek megértése A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület

Részletesebben

Dr. Schuster György február / 32

Dr. Schuster György február / 32 Algoritmusok és magvalósítások Dr. Schuster György OE-KVK-MAI schuster.gyorgy@kvk.uni-obuda.hu 2015. február 10. 2015. február 10. 1 / 32 Algoritmus Alapfogalmak Algoritmus Definíció Algoritmuson olyan

Részletesebben

Algoritmusok vektorokkal keresések 1

Algoritmusok vektorokkal keresések 1 Algoritmusok vektorokkal keresések 1 function TELJES_KERES1(A, érték) - - teljes keresés while ciklussal 1. i 1 2. while i méret(a) és A[i] érték do 3. i i + 1 4. end while 5. if i > méret(a) then 6. KIVÉTEL

Részletesebben

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás Véletlenszám generátorok és tesztelésük Tossenberger Tamás Érdekességek Pénzérme feldobó gép: $0,25-os érme 1/6000 valószínűséggel esik az élére 51% eséllyel érkezik a felfelé mutató oldalára Pörgetésnél

Részletesebben

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék 9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,

Részletesebben

Gráfelméleti feladatok. c f

Gráfelméleti feladatok. c f Gráfelméleti feladatok d e c f a b gráf, csúcsok, élek séta: a, b, c, d, e, c, a, b, f vonal: c, d, e, c, b, a út: f, b, a, e, d (walk, lanţ) (trail, lanţ simplu) (path, lanţ elementar) 1 irányított gráf,

Részletesebben

Arany Dániel Matematikai Tanulóverseny 2010/2011-es tanév 1. forduló haladók III. kategória

Arany Dániel Matematikai Tanulóverseny 2010/2011-es tanév 1. forduló haladók III. kategória Bolyai János Matematikai Társulat Oktatásért Közalapítvány támogatásával Arany Dániel Matematikai Tanulóverseny 2010/2011-es tanév 1. forduló haladók III. kategória Megoldások és javítási útmutató 1. Határozzuk

Részletesebben

Oktatási segédlet 2014

Oktatási segédlet 2014 Oktatási segédlet 2014 A kutatás a TÁMOP 4.2.4.A/2-11-1-2012- 0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Elágazás Bevezetés a programozásba I. 2. gyakorlat, tömbök Surányi Márton PPKE-ITK 2010.09.14. Elágazás Elágazás Eddigi programjaink egyszer ek voltak, egy beolvasás (BE: a), esetleg valami m velet (a

Részletesebben

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

Shannon és Huffman kód konstrukció tetszőleges. véges test felett 1 Shannon és Huffman kód konstrukció tetszőleges véges test felett Mire is jók ezek a kódolások? A szabványos karakterkódolások (pl. UTF-8, ISO-8859 ) általában 8 biten tárolnak egy-egy karaktert. Ha tudjuk,

Részletesebben

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30.

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30. 15. tétel Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30. Edényrendezés Tegyük fel, hogy tudjuk, hogy a bemenő elemek (A[1..n] elemei) egy m elemű U halmazból kerülnek ki, pl. " A[i]-re

Részletesebben

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

Részletesebben

1.1. Alapfeladatok. hogy F 1 = 1, F 2 = 1 és általában F n+2 = F n+1 + F n (mert a jobboldali ág egy szinttel lennebb van, mint a baloldali).

1.1. Alapfeladatok. hogy F 1 = 1, F 2 = 1 és általában F n+2 = F n+1 + F n (mert a jobboldali ág egy szinttel lennebb van, mint a baloldali). 1.1. Alapfeladatok 1.1.1. Megoldás. Jelöljük F n -el az n-ed rendű nagyapák számát. Az ábra alapján látható, hogy F 1 = 1, F = 1 és általában F n+ = F n+1 + F n mert a jobboldali ág egy szinttel lennebb

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia ZH feladatok megoldása (2009.11.26.) Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2009. november 26.

Részletesebben

A tényleges mérőszám függ az adat méretétől, illetve a feltétel összetettségétől.

A tényleges mérőszám függ az adat méretétől, illetve a feltétel összetettségétől. HATÉKONYSÁGVIZSGÁLAT 1. A HATÉKONYSÁG FOGALMA A specifikációnak megfelelően elkészített, működőképes programjaink általában sok szempontból még nem tökéletesek. A legtöbb kész program javítható, pl. -

Részletesebben

Arany Dániel Matematikai Tanulóverseny 2008/2009-es tanév első (iskolai) forduló haladók II. kategória

Arany Dániel Matematikai Tanulóverseny 2008/2009-es tanév első (iskolai) forduló haladók II. kategória Bolyai János Matematikai Társulat Oktatási és Kulturális Minisztérium Támogatáskezelő Igazgatósága támogatásával Arany Dániel Matematikai Tanulóverseny 00/009-es tanév első (iskolai) forduló haladók II.

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

Programozás I. 5. Előadás: Függvények

Programozás I. 5. Előadás: Függvények Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény

Részletesebben

Partíció probléma rekurzíómemorizálással

Partíció probléma rekurzíómemorizálással Partíció probléma rekurzíómemorizálással A partíciószám rekurzív algoritmusa Ω(2 n ) műveletet végez, pedig a megoldandó részfeladatatok száma sokkal kisebb O(n 2 ). A probléma, hogy bizonyos már megoldott

Részletesebben