Egyszerű programozási tételek
|
|
- Dániel Hajdu
- 7 évvel ezelőtt
- Látták:
Átírás
1 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 Eljárás Eldöntés(A, N, T, VAN) i 1 Ciklus amíg(i N) és T (A[i]) VAN (i N) A : Feldolgozandó tömg N : Tömb elemeinek száma T : Tulajdonság függvény VAN : logikai változó Kiválasztás Eljárás Kiválasztás(A, N, T, SORSZ) i 1 Ciklus amíg T (A[i]) SORSZ i Eljárás Vége A : feldolgozandó tömb N : Tömb elemeinek száma T : tulajdonság függvény SORSZ : az első T tulajdonságú elem indexe Lineáris Keresés Eljárás Keresés(A, N, T, VAN, SORSZ) i 1 Ciklus amíg(i N) és T(A[i]) VAN ( i N) Ha VAN akkor SORSZ i A : Feldolgozandó tömb N : Tömb elemeinek száma T : tulajdonság függvény VAN : Logikai változó SORSZ : első T tulajdonságú elem indexe
2 Megszámlálás Eljárás Megszámlálás(A, N, T, DB) DB 0 i 1 Ciklus i 1-től N-ig Ha T(A[i]) akkor Eljárás Vége A : feldolgozandó tömb N : Tömb elemeinek száma T : tulajdonság függvény DB : T tulajdonságú elemek száma Maximumkiválasztás Eljárás Maximumkiválasztás(A, N, MAX) MAX 1 Ciklus i 2-től N-ig Ha A[i] > A[MAX] akkor MAX i A : Feldolgozandó tömb N : tömb elemeinek száma MAX : maximális elme indexe Másolás Eljárás Másolás(X, N, Y) Ciklus i 1-től N-ig Y[i] művelet X[i] X : Feldolgozandó tömb N : tömb elemeinek száma Y : Eredmény tömb Kiválogatás Eljárás Kiválogatás(X, N, T, Y, DB) DB 0 Ciklus i 1-től N-ig Ha T(X[i]) akkor Y[DB] X[i] X : Feldolgozandó tömb N : Tömb elemeinek száma T : Tulajdonság függvény Y : eredmény tömb DB : Y tömbbe kiválogatott elemek száma
3 Szétválogatás Eljárás Szétválogatás(X, N, T, Y, DBY, Z, DBZ) DBY 0 DBZ 0 Ciklus i 1-től N-ig Ha T(X[i]) akkor DBY DBY + 1 Y[DBY] X[i] DBZ DBZ + 1 Z[DBZ] X[i] X : Feldolgozandó tömb N : Tömb elemeinek száma T : Tulajdonság függvény Y : egyik eredmény tömb DBY : X T tulajdonságú elemeinek száma Z : másik eredmény tömb DBZ : X T tulajdonságú elemeinek száma Szétválogatás egyetlen tömbbe Eljárás Szétválogatás(X, N, T, Y, DBY) DBY 0 INDZ N + 1 Ciklus i 1-től N-ig Ha T(X[i]) akkor DBY DBY + 1 Y[DBY] X[i] INDZ INDZ 1 Y[INDZ] X[i] Metszet Eljárás Metszet(X, M, Y, N, Z, DB) DB 0 Ciklus i 1-től M-ig j 1 Ciklus amíg j N és X[i] Y[j] j j + 1 Ha j N akkor ; Z[DB] X[i] X : Egyik feldolgozandó tömb M : X elemeinek száma Y : másik feldolgozandó tömb N : Y elemeinek száma Z : Eredmény tömb DB : Metszetbeli elemek száma
4 Szétválogatás a bemeneti tömbben Eljárás Szétválogatás(X, N, T, DB) E 1; U N; seged X[E] Ciklus amíg E < U Ciklu amíg E < U és (T(X[U])) U U -1 Ha E < U akkor X[E] X[U]; E E + 1; Ciklus amíg E < U és T(X[E]) E E + 1 Ha E < U akkor X[U] X[E]; U U 1 X[E] seged Ha T(X[E]) akkor DB E DB E - 1 Közös elem keresése Eljárás MetszetbeliElem(X, M, Y, N, VAN, E) i 1; VAN hamis Ciklus amíg i M és VAN j 1 Ciklus amíg j N és X[i] Y[j] j j + 1 Ha j N akkor VAN igaz; E X[i] X : egyik tömb M : X elemeinek száma Y : másik tömb elemeinek száma N : Y elemeinek száma VAN : logikai változó, pontosan akkor igaz ha a két tömbben van közös elem E : a közös elem értéke (ha van)
5 Egyesítés Eljárás Egyesítés(X, M, Y, N, Z, DB) Z X; DB M Ciklus j 1-től N-ig i 1 Ciklus amíg i M és X[i] Y[j] Ha i > M akkor ; Z[DB] Y[j] X : egyik bemenet M : X elemeinek száma Y : másik bemenet N : Y elemeinek száma Z : eredmény tömb DB : Unióbeli elemek száma Halmazfelsorolás készítés Eljárás HalmazfelsorolásKészítés(X, N, Z, DB) DB 0 Ciklus i 1-től N-ig j 1 Ciklus amíg j DB és X[i] Z[j] j j + 1 Ha j > DB akkor Z[DB] X[i] X : eredeti sorozat N : X elemeinek száma Z : halmazzá alakított sorozat DB : Z elemeinek száma Összefuttatás Eljárás Összefuttatás(X, M, Y, N, Z, DB) i 1 j 1; DB 0 Ciklus amíg i M és j N X[i] < Y[j] esetén Z[DB] X[i]; X[i] = Y[j] esetén Z[DB] X[i]; ; j j + 1 X[i] > Y[j] esetén Z[DB] Y[j]; j j + 1 Ciklus amíg i M ; Z[DB] X[i]; Ciklus amíg j N ; Z[DB] Y[j]; j j + 1
6 Összefuttatás (redezettek úniója) Ha X[M] = Y[N], akkor az utolsó két ciklusra nincs szükség. Ezt a helyzetet magunk is előidézhetjük. Eljárás Összefuttatás(X, M, Y, N, Z, DB) i 1; j 1; DB 0 X[M + 1] + ; Y[N + 1] + Ciklus amíg i < M + 1 vagy j < N + 1 X[i] < Y[j] esetén Z[DB] X[i]; X[i] = Y[j] esetén Z[DB] X[i]; ; j j + 1 X[i] > Y[j] esetén Z[DB] Y[j]; j j + 1 Ha nincs a két sorozatban azonos elem, akkor a megvalósítás még egyszerűbb Eljárás Összefuttatás(X, M, Y, N, Z, DB) i 1; j 1; DB 0 X[M +1] + ; Y[N + 1] + Ciklus amíg i < M + 1 vagy j < N + 1 Ha X[i] < Y[j] akkor Z[DB] X[i]; Z[DB] Y[j]; j j + 1
7 Algoritmusok összeépítése Másolás és sorozatszámítás összeépítése Eljárás Másolás_Sorozatszámítás(X, N, R) R R 0 Ciklus i 1-től N-ig R R művelet g(x[i]) X : Feldolgozandó tömb N : Tömb elemeinek száma R : Művelet eredménye Másolás és maximumkiválasztás összeépítése Eljárás Másolás_Maximumkiválasztás(N, X, MAX, MAXERT) MAX 1 MAXERT g(x[1]) Ciklus i 2-től N-ig Ha MAXERT < g(x[i]) akkor MAXERT g(x[i]) MAX i X : Feldolgozandó tömb N: Tömb elemeinek száma MAX : Maximális értékű elem indexe MAXERT: Maximális érték Megszámolás és keresés összeépítése Eljárás Megszámolás_Keresés(N, X, T, K, VAN, SORSZ) i 0; DB 0 Ciklus amíg (i < N) és (DB < K) Ha T(X[i]) akkor VAN (DB = K) Ha VAN akkor SORSZ i X : Feldolgozandó tömb N : Tömb elemeinek száma T : tulajdonság függvény K : A K-adik T tulajdonságú elemet keressük VAN : Logikai változó SORSZ : A K-adik T tulajdonságú elem indexe
8 Maximumkiválasztás és kiválogatás összeépítése Eljárás Maximumkiválogatás(X, N, DB, Y, MAXERT) MAXERT X[1] DB 1 Y[DB] 1 Ciklus i 2-től N-ig X[i] > MAXERT esetén MAXERT X[i] DB 1 Y[DB] i X[i] = MAXERT esetén Y[DB] i X : Feldolgozandó tömb N : Tömb elemeinke száma Kimenet DB : Maximális elemek száma Y : Maximális elemek indexei MAXERT : Maximális érték Kiválogatás és sorozatszámítás összeépítése Eljárás Kiválogatás_Sorozatszámítás(X, N, T, R) R R 0 Ciklus i 1-től N-ig Ha T(X[i]) akkor R R művelet X[i] X : feldolgozandó tömb N : Tömb elemeinek száma T : Tulajdonság függvény R : Művelet eredménye Kiválogatás és Maximumkiválasztás összeépítése Eljárás Kiválogatás_Maximumkiválasztás(X, N, T, VAN, MAX, MAXERT) MAXERT - Ciklus i 1-től N-ig Ha T(X[i]) és X[i] > MAXERT akkor MAXERT X[i] MAX i VAN (MAXERT - ) X : feldolgozandó tömb N : Tömb elemeinek száma T : Tulajdonság függvény VAN : Logikai változó MAX : A maximális értékű elem indexe MAXERT : A maximális érték
9 Kiválogatás és Másolás összeépítése Eljárás Kiválogatás_Másolás(X, N, T, f, DB, Z) DB 0 Ciklus i 1-től N-ig Ha T(X[i]) akkor Z[DB] f(x[i]) X : feldolgozandó tömb N : Tömb elemeinek száma T : Tulajdonság függvény f : Végrehajtandó függvény DB : T tulajdonságú elemek száma Z : Feldolgozott sorozat
10 Rendezések Egyszerű cserés rendezés Eljárás Rendezés(N, X) Ciklus i 1-től N - 1-ig Ciklus j i + 1-től N-ig Ha X[i] > X[j] akkor Csere(X[i], X[j]) Hatékonyság Helyfoglalás: N + 1 Hasonlítások száma: N(N-1) / 2 Mozgatások száma: legalább 0, legfeljebb 3 * N(N 1) / 2 Csere megvalósítása Eljárás Csere(X[i], X[j]) TEMP X[i] X[i] X[j] X[j] TEMP Minimumkiválasztásos rendezés Eljárás Rendezés(N, X) Ciklus i 1-től N 1-ig MIN i Ciklus j i + 1-től N-ig Ha X[MIN] > X[j] akkor MIN j Csere (X[i], X[MIN]) Hatékonyság Helyfoglalás: N + 1 Hasonlítások száma: N(N - 1) / 2 Mozgatások száma: 3 * (N 1) Buborékos rendezés Eljárás Rendezés(N, X) Ciklus i N-től 2-ig -1-esével Ciklus j 1-től i - 1-ig Ha X[j] > X[j + 1] akkor Csere(X[j], X[j + 1]) Hatékonyság Helyfoglalás: N + 1 Hasonlítások száma: N(N - 1) / 2 Mozgatások száma: legalább 0, legfeljebb 3 * N(N 1) / 2
11 Javított buborékos rendezés Eljárás Rendezés(N, X) i N Ciklus amíg i 2 CS 0 Ciklus j 1-től i 1-ig Ha X[j] > X[j + 1] akkor Csere(X[j], X[j + 1] CS j i CS Hatékonyság Helyfoglalás: N + 1 Hasonlítások száma: legalább: N 1 legfeljebb: N(N - 1) / 2 Mozgatások száma: legalább 0, legfeljebb 3 * N(N 1) / 2 Beillesztéses rendezés Eljárás Rendezés(N, X) Ciklus i 2-től N-ig j i 1 Ciklus amíg j > 0 és X[j] > X[j + 1] Csere (X[j], X[j + 1]) j j 1 Hatékonyság Helyfoglalás: N + 1 Hasonlítások száma: legalább: N 1 legfeljebb: N(N - 1) / 2 Mozgatások száma: legalább 0, legfeljebb 3 * N(N 1) / 2 Javított Beillesztéses rendezés Eljárás Rendezés(N, X) Ciklus i 2-től N-ig j i 1 Y X[i] Ciklus amíg j > 0 és X[j] > Y X[j + 1] X[j] j j 1 X[j + 1] Y Hatékonyság Helyfoglalás: N + 1 Hasonlítások száma: legalább: N 1 legfeljebb: N(N - 1) / 2 Mozgatások száma: legalább 2 * (N - 1) legfeljebb 2 * (N 1) + N(N 1) / 2
12 Rendezés Shell módszerrel Eljárás rendezés(n, X) L L 0 Ciklus amíg L 1 Ciklus K L + 1-től 2L-ig Ciklus i K-tól N-ig L-esével j i L Y X[i] Ciklus amíg j 0 és X[j] > Y X[j + L] X[j] j j L X[j + L] Y L Következő(L) Rendezés Shell módszerrel módosított Eljárás Rendezés(N, X) L L 0 Ciklus amíg L 1 Ciklus i L + 1-től N-ig j i L Y X[i] Ciklus amíg j > 0 és X[j] > Y X[j + L] X[j] j j L X[j + L] Y L Következő(L)
13 Rekurzív algoritmusok Faktoriális Függvény fakt(n) Ha N = 0, akkor return(1) return(n * fakt(n - 1)) Függvény vége Fibonacci Függvény Fib(N) Ha N 1 akkor return(1) return(fib(n 1) + Fib(N - 2)) Függvény vége Binomális együtthatók Függvény Bin(N, K) Ha (K = 0) vagy (K = N) akkor return(1) return(bin(n 1, K) + Bin(N 1, K 1)) Szöveg megfordítás Függvény Fordítás(X, N) Ha N > 1 akkor return(fordítás(x[2..n], N 1) + X[1]) Függvény vége
14 Palindrom Függvény 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) Függvény vége Hatványozás Függvény 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 Hanoi tornyai Eljárás 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)
15 Programozási tételek rekurzív megvalósítása Sorozatszámítás Függvény Sorozatszámítás(A, N) Ha N = 0 akkor return(r 0 ) return(a[n] művelet Sorozatszámítás(A[1..N - 1],N - 1)) Függvény vége Megszámlálás Függvény Megszámlálás(A, N, T) Ha N = 1 akkor Ha T(A[N]) akkor return(1) return(0) Ha T(A[N]) akkor return(1 + Megszámlálás(A, N - 1, T)) return(megszálálás(a, N - 1, T)) Függvény vége Maximumkiválasztás Függvény Maximumkiválasztás(A, N) Ha N = 1 akkor return(n) eddigimax Maximumkiválasztás(A, N 1) Ha A[N] > A[eddigiMax] akkor return(n) return(eddigimax) Függvény vége
16 Lineáris keresés Függvény 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
17 Keresések, halmazok, halmazműveletek Lineáris keresés Eljárás LineárisKeresés(X, N, Y, VAN, SORSZ) i 1 Ciklus amíg (i N) és X[i] Y) VAN (i N) Ha VAN akkor SORSZ i -Minimális lépésszám: 1 -Maximális lépésszám: N (Ezt kapjuk minden olyan esetben is, ha Y nincs benne a sorozatban!) -Az átlagos futási idő: O(N) -Ezért hívjuk lineáris keresésnek Lineáris keresés (rekurziv megvalósítás) Függvény 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 Keresés rendezett sorozatban Eljárás LineárisKeresés(X, N, Y, VAN, SORSZ) i 1 Ciklus amíg (i N) és (X[i] < Y) VAN (i N) és (X[i] = Y) Ha VAN akkor SORSZ i -Minimális lépésszám: (Akkor is előállhat ez ha Y nincs benne a sorozatban!) -Maximális lépésszám: N -Átlagos lépésszám: (Nem függ attól, hogy Y benne van-e a sorozatban!)
18 Logaritmikus keresés Függvény Keresés(X, E, U, Y) Ha E > U akkor return(0) K [ (E + U)/2 ] 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 [ ] az egészrész függvényt jelöli Logaritmikus keresés Iteratív megoldás Eljárás LogaritmikusKeresés(X, N, Y, VAN, SORSZ) E 1; U N Ciklus K [ (E + U)/2 ] Y < X[K] esetén U K 1 Y > X[K] esetén E K + 1 Amíg (E U) és (X[K] Y) VAN (E U) Ha VAN akkor SORSZ K -Minimális lépésszám: 1 (ha a középső elem az Y) -Maximális lépésszám: [1 + log 2 N] -Átlagos lépésszám: [log 2 N] -Így már érthető, honnan kapta a nevét az eljárás -Van, aki felezéses- vagy bináris keresésnek hívja az eljárást az alapütlet miatt. [ ] az egészrész függvényt jelöli [ ] az egészrész függvényt jelöli
19 Eldöntés felezéses módszerrel Eljárás Eldöntés(X, N, Y, VAN) E 1; U N Ciklus K [ (E + U)/2 ] Y < X[K] esetén U K 1 Y > X[K] esetén E K + 1 Amíg (E U) és (X[K] Y) VAN (E U) Kiválasztás felezéses módszerrel Eljárás Kiválasztás(X, N, Y, SORSZ) E 1; U N Ciklus K [ (E + U)/2 ] Y < X[K] esetén U K 1 Y > X[K] esetén E K + 1 Amíg(E U) és (X[K] Y) SORSZ K
20 Kiválogatás felezéses módszerrel Eljárás Kiválogatás(X, N, Y, VAN, E, U) E 1; U N Ciklus K [ (E + U)/2 ] Y < X[K] esetén U K 1 Y > X[K] esetén E K + 1 Amíg (E U) és (X[K] Y) VAN (E U) Ha VAN akkor E K Ciklus amíg (E > 1) és (X[E 1] = Y) E E 1 U K Ciklus amíg (U < N) és (X[U + 1] =Y) U U + 1 Halmaz: halmaznak tekintünk egy olyan (növekvő módon) rendezett tömböt, melynek minden eleme különböző. Halmaz létrehozása Eljárás HalmazLétrehozás(X, N, M) j 1 Ciklus i 1-től N-ig Ha X[i] X[j] akkor j j + 1 X[j] X[i] M j Halmaz-e? Eljárás Halmaz_e(N, X, L) i 2 Ciklus amíg (i N) és (X[i] X[i 1]) L (i > N) N elemű rendezett tömb (X) M elemű halmaz (X) N (legalább kettő) elemű rendezett tömb L logikai változó
21 Tartalmazás A logaritmikus keresésből származtatott Eldöntést kell alkalmazni. Eljárás Eldöntés(X, N, Y, VAN) E 1; U N Ciklus K [ (E + U)/2 ] Y < X[K] esetén U K 1 Y > X[K] esetén E K + 1 Amíg (E U) és (X[K] Y) VAN (E U) Részhalmaz A B, ha A minden eleme a B-nek is eleme. Eljárás Részhalmaz(X, M, Y, N, L) i 1; j 1 Ciklus amíg (i M) és (j N) és (X[i] Y[j]) Ha X[i] = Y[j] akkor j j + 1 L (i > M) Unió A U B = {x x A vagy x B} Eljárás Összefuttatás(X, M, Y, N, DB, Z) i 1; j 1; DB 0 X[M + 1] + ; Y[N + 1] + Ciklus amíg (i < M + 1) vagy (j < N + 1) X[i] < Y[j] esetén Z[DB] X[i]; X[i] = Y[j] esetén Z[DB] X[i]; ; j j + 1 X[i] > Y[j] esetén Z[DB] Y[j]; j j + 1
22 Metszet A B = x x A és x B} Eljárás Metszet(X, M, Y, N, DB, Z) i 1; j 1; DB 0 Ciklus amíg (i M) és j N) X[i] < Y[j] esetén X[i] > Y[j] esetén j j + 1 X[i] = Y[j] esetén Z[DB] X[i] ; j j + 1 Különbség A \ B = {x x A és x B} Eljárás különbség(x, M, Y, N, DB, Z) i 1; j 1; DB 0 Ciklus amíg (i M) és (j N) X[i] < Y[j] esetén Z[DB] X[i] X[i] > Y[j] esetén j j + 1 X[i] = Y[j] esetén ; j j + 1 Ciklus amíg (i M) ; Z[DB] X[i]; Ciklus amíg
23 Szimmetrikus differencia A B = (A\B) (B\A) Eljárás SzimmetrikusDifferencia(X, M, Y, N, DB, Z) i 1; j 1; DB 0 Ciklus amíg (i M) és (j N) X[i] < Y[j] esetén Z[DB] X[i] X[i] > Y[j] esetén Z[DB] Y[j] j j + 1 X[i] = Y[j] esetén ; j j + 1 Ciklus amíg (i M) ; Z[DB] X[i]; Ciklus amíg (j N) ; Z[DB] Y[j]; j j + 1
24 Oszd meg és uralkodj elv A megoldandó proplémát felosztjuk kisebb részeladatokra Az egyes részfeladatokat rekurzív módon megoldjuk A részfeladatok megoldásait egyesítjük Maximumkiválasztás X tömb, N X elemszáma X elemeinek maximuma Függvény FelezőMaximumkiválaszt(X, N) Ha N = 1 akkor return(x[1]) K [N/2] BalMax FelezőMaximumkiválaszt(X[1..K],K) JobbMax FelezőMaximumkiválaszt(X[K + 1..N],N - K) Ha BalMax JobbMax akkor return(balmax) return(jobbmax) Függvény vége k-adik legkisebb elem keresése Függvény KiválasztK-adik(X, E, U, k) Ha E = U akkor return X[E] Szétválogat(X, E, U, K) k = K esetén return X[K] k < K esetén KiválasztK-adik(X, E, K 1, k) k > K esetén KiválasztK-adik(X, K + 1, U, k K) Függvény vége -Az ismertetett algoritmus átlagos esetében O(N)-es, de legrosszabb esetben O(N logn)-es
25 Merge sort Eljárás Merge-sort(X, E, U) Ha E < U akkor K Merge-sort(X, E, K) Merge-sort(X, K + 1, U) Merge(X, E, K, U) Az algoritus futási ideje: O(N * logn)-es A megvalósításthoz szükségünk van segédtömbökre, így nagyméretű tömbök esetén helyfoglalás szempontjából nem hatékony Eljárás Merge(X, E, K, U) N 1 K E + 1; N 2 U K Ciklus i 1-től N 1 -ig L[i] X[E + i 1] Ciklus j 1-től N 2 -ig R[j] X[K + j] L[N 1 + 1] + ; R[N 2 + 1] + i 1; j 1 Ciklus k E-től U-ig Ha L[i] R[j] akkor X[k] L[i] X[k] R[j] j j + 1
26 Quicksort (rekurzív) Eljárá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 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 Ha K < L akkor X[K] X[L]; K K + 1 Ciklus amíg (K < L) és (X[K] A) K K + 1 Ha K < L akkor X[L] X[K]; L L 1 X[K] A -A Quicksort-nál alkalmazott Szétválogat metódus mindig a vizsgált résztömb első eleméhez viszonyítva válogatja két részre a résztömböt. -Emiatt pl. eleve rendezett tömb esetén az algoritmus futási ideje O(N 2 )-es, míg átlagos esetben csak O(N* logn)-es. Javíthatunk az algoritmuson, ha véletlenszerűen jelöljük ki, hogy melyik legyen az az elem a vizsgált résztömbből, amelyhez viszonyítva szétválogatjuk a résztömb elemeit.
Rekurzív algoritmusok
Rekurzív algoritmusok 11. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. november 14. Sergyán (OE NIK) AAO 11 2011. november 14. 1 / 32 Rekurzív
RészletesebbenObjektum 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észletesebbenProgramozási tételek. PPT 2007/2008 tavasz.
Programozási tételek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Strukturált programozás paradigma Alapvető programozási tételek Összetett programozási tételek Programozási
RészletesebbenÖsszetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.
Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,
RészletesebbenÖ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észletesebbenEgyszerű 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észletesebbenRendezé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észletesebbenPROGRAMOZÁSI TÉTELEK
PROGRAMOZÁSI TÉTELEK Összegzés tétele Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét! S:=0 Ciklus I=1-től N-ig S:=S+A(I) Megszámlálás tétele Adott egy N elemű sorozat és egy - a sorozat
RészletesebbenElőfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
Részletesebben9. 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észletesebbenBá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észletesebbenEgyszerű 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észletesebbenProgramozá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észletesebbenProgramozá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észletesebbenHaladó 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észletesebbenAdatbázis és szoftverfejlesztés elmélet. Programozási tételek
Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek
RészletesebbenHatékonyság 1. előadás
Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése
RészletesebbenELEMI 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észletesebbenPá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észletesebbenAlgoritmizálás, adatmodellezés tanítása 2. előadás
Algoritmizálás, adatmodellezés tanítása 2. előadás Programozási tételek Mi az, hogy programozási tétel? Típusfeladat általános megoldása. Sorozat érték Sorozat sorozat Sorozat sorozatok Sorozatok sorozat
RészletesebbenAlgoritmizálás, adatmodellezés tanítása 2. előadás
Algoritmizálás, adatmodellezés tanítása 2. előadás Másolás függvényszámítás Bemenet: N N, X H N, g:h G, F: G N G, f: G * xg G Kimenet: Y G N Előfeltétel: Utófeltétel: i(1 i N) Y=F(g(X 1 ),, g(x N )) f
RészletesebbenAdatszerkezetek. 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észletesebbenProgramozá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észletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Összetett programozási tételek 1 TÁMOP-4.2.3.-12/1/KONV Feladataink egy jelentős csoportjában egyetlen bemenő sorozat alapján egy
RészletesebbenAlgoritmizá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észletesebben23. Fa adatszerkezetek, piros-fekete fa adatszerkezet (forgatások, új elem felvétele, törlés)(shagreen)
1. Funkcionális programozás paradigma (Balázs)(Shagreen) 2. Logikai programozás paradigma(még kidolgozás alatt Shagreen) 3. Strukturált programozás paradigma(shagreen) 4. Alapvető programozási tételek
RészletesebbenRendezések. Összehasonlító rendezések
Rendezések Összehasonlító rendezések Remdezés - Alapfeladat: Egy A nevű N elemű sorozat elemeinek nagyság szerinti sorrendbe rendezése - Feltételezzük: o A sorozat elemei olyanok, amelyekre a >, relációk
RészletesebbenAlgoritmizá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észletesebbenProgramozá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észletesebbenAlgoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE
Algoritmusokfelülnézetből 1. ELŐADÁS Sapientia-EMTE 2015-16 Algoritmus Az algoritmus kifejezés a bagdadi arab tudós, al-hvárizmi(780-845) nevének eltorzított, rosszul latinra fordított változatából ered.
RészletesebbenAlgoritmizálás, adatmodellezés tanítása 1. előadás
Algoritmizálás, adatmodellezés tanítása 1. előadás Specifikáció A specifikáció elemei bemenet mit ismerünk? kimenet mire vagyunk kíváncsiak? előfeltétel mit tudunk az ismertekről? utófeltétel mi az összefüggés
RészletesebbenA félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
RészletesebbenAlgoritmusok 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észletesebbenRekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió és iteráció Balrekurzió Ha az eljárás első utasításaként szerepel a rekurzív hívás, akkor a rekurzió lényegében az első nem
RészletesebbenAz összetett programozási tételek is egy tőről fakadnak
Az összetett programozási tételek is egy tőről fakadnak Zsakó László 1, Törley Gábor 2, Szlávi Péter 3 1 zsako@caesar.elte.hu, 2 pezsgo@inf.elte.hu, 3 szlavi@elte.hu ELTE IK Absztrakt. A programozás tanulás
RészletesebbenTartalomjegyzé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észletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Összetett programozási tételek 2 TÁMOP-4.2.3.-12/1/KONV Feladataink egy jelentős csoportjában több bemenő sorozat alapján egy sorozatot
RészletesebbenProgramozá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észletesebbenAlgoritmizálás és adatmodellezés tanítása 2. előadás
Algoritmizálás és adatmodellezés tanítása 2. előadás Tartalom Összegzés vektorra, mátrixra Megszámolás vektorra, mátrixra Maximum-kiválasztás vektorra, mátrixra Eldöntés vektorra, mátrixra Kiválasztás
RészletesebbenObjektumorientált Programozás VI.
Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
Részletesebben1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
RészletesebbenProgramozá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észletesebbenAAO 3. Csink László 2007
AAO 3 Csink László 2007 Algoritmus fogalma - ismétlés Az algoritmus egy eljárás (jóldefiniált utasítások véges halmaza), amelyet valamely feladat megoldására készítünk. A feladat egy adott kezdeti állapotból
RészletesebbenTartalomjegyzé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észletesebbenKözismereti informatika I. 4. előadás
Közismereti informatika I. 4. előadás Rendezések Bemenet: N: Egész, X: Tömb(1..N: Egész) Kimenet: X: Tömb(1..N: Egész) Előfeltétel: Utófeltétel: Rendezett(X) és X=permutáció(X ) Az eredmény a bemenet egy
RészletesebbenAlgoritmusok 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észletesebbenTartalom. Programozási alapismeretek. 11. előadás
Tartalom Programozási alapismeretek 11. előadás Rendezési feladat specifikáció Egyszerű cserés Minimum-kiválasztásos Buborékos Javított buborékos Beillesztéses Javított beillesztéses Szétosztó Számlálva
RészletesebbenÖsszetett programozási tételek 2.
Belépő a tudás közösségébe Informatika szakköri segédanyag Összetett programozási tételek 2. Heizlerné Bakonyi Viktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő:
RészletesebbenSpecifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot
RészletesebbenAlgoritmuselmélet 2. előadás
Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés
RészletesebbenAdatbázis rendszerek Gy: Algoritmusok C-ben
Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés
RészletesebbenEgyszerű 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észletesebbenRendezé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észletesebbenAlgoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás
Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált
RészletesebbenAlgoritmusok - 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észletesebben2015, 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észletesebbenREKURZIÓ. 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észletesebbenSpecifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot
RészletesebbenAlgoritmusok 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észletesebbenAlgoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy
Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj Divide & Conquer (,,Oszd meg és uralkodj ) paradigma Divide: Osszuk fel az adott problémát kisebb problémákra. Conquer: Oldjuk meg a kisebb
RészletesebbenProgramozási alapismeretek 11. előadás
Programozási alapismeretek 11. előadás Tartalom Rendezési feladat specifikáció Egyszerű cserés rendezés Minimum-kiválasztásos rendezés Buborékos rendezés Javított buborékos rendezés Beillesztéses rendezés
RészletesebbenAlkalmazott 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észletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Oszd meg és uralkodj stratégia TÁMOP-4.2.3.-12/1/KONV Egyik legfontosabb, sokféleképpen alkalmazható elvünk az ókori latin kultúrából
RészletesebbenBabeş-Bolyai Tudományegyetem, Kolozsvár. Informatikai-matematika záróvizsga tankönyv
Babeş-Bolyai Tudományegyetem, Kolozsvár Informatikai-matematika záróvizsga tankönyv 2018-2019 Záróvizsga témák Informatikai-matematika szak (a 2019. júliusi vizsgaidőszaktól érvényes) Algoritmusok és programozás
RészletesebbenProgramozási módszertan. Mohó algoritmusok
PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás
RészletesebbenProgramozá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észletesebbenInformá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észletesebbenEdényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).
Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a
RészletesebbenAlkalmazott 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észletesebbenA programozás alapjai 1 Rekurzió
A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder
RészletesebbenBABEŞ-BOLYAI TUDOMÁNYEGYETEM KOLOZSVÁR. Informatika záróvizsga tankönyv
BABEŞ-BOLYAI TUDOMÁNYEGYETEM KOLOZSVÁR Informatika záróvizsga tankönyv 2013 1 4 I. Algoritmusok és programozás 1. Programozási tételek A feladatok feladatosztályokba sorolhatók a jellegük szerint. E feladatosztályokhoz
RészletesebbenAlgoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
Részletesebben6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések
RészletesebbenProgramozá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észletesebbenALGORITMUSOK ÉS PROBLÉMAOSZTÁLYOK (1. előadás)
ALGORITMUSOK ÉS PROBLÉMAOSZTÁLYOK (1. előadás) Programozási feladatok megoldásának lépései 1, a feladatok meghatározása -egyértelmű, rövid, tömör, pontos 2, a feladat algoritmusának elkészítése jól definiált
RészletesebbenProgramoza s I. 11. elo ada s Oszd meg e s uralkodj! elvu algoritmusok. Sergya n Szabolcs
11. elo ada s Oszd meg e s uralkodj! elvu algoritmusok Sergya n Szabolcs sergyan.szabolcs@nik.uni-obuda.hu O budai Egyetem Neumann Ja nos Informatikai Kar Alkalmazott Informatikai Inte zet 1 / 24 Tartalom
RészletesebbenPROGRAMOZÁSMÓDSZERTAN
PROGRAMOZÁSMÓDSZERTAN 4. ELŐADÁS 2004 (VÁZLAT). A TÉTELEK SZIGNATÚRÁJÁRÓL.. Formája és célja Induljunk ki egy ismert tételből: Megszámolás(H *,F(H, )): Be: N N, X H *, T:H L Ki: Ef: Db N ez most nem érdekes
RészletesebbenProgramozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk
RészletesebbenAlgoritmuselmélet 1. előadás
Algoritmuselmélet 1. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 11. ALGORITMUSELMÉLET 1. ELŐADÁS 1 Források
RészletesebbenAlgoritmusok és adatszerkezetek I. 4. előadás
Algoritmusok és adatszerkezetek I. 4. előadás A lista olyan sorozat, amelyben műveleteket egy kiválasztott, az ún. aktuális elemmel lehet végezni. A lista rendelkezik az alábbi műveletekkel: Üres: Lista
RészletesebbenLá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észletesebbenFelvé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észletesebbenDr. 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észletesebbenBabeş-Bolyai Tudományegyetem, Kolozsvár. Informatika záróvizsga tankönyv
Babeş-Bolyai Tudományegyetem, Kolozsvár Informatika záróvizsga tankönyv 2018 Záróvizsga témák Informatika szak (a 2018. júliusi vizsgaidőszaktól érvényes) 1. rész: Algoritmusok és programozás (6 téma)
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 3. előadás
Algoritmizálás és adatmodellezés tanítása 3. előadás Szövegfájl Fájl típus A szövegfájl karakterek sorozata: input fájl Műveletei: nyit, zár, olvas, vége? output fájl Műveletei: nyit, zár, ír Pap Gáborné,
RészletesebbenPROGRAMOZÁSI NYELVEK (GYAKORLAT)
PROGRAMOZÁSI NYELVEK (GYAKORLAT) A következő részben olyan szabványos algoritmusokkal fogunk foglalkozni, amelyek segítségével a későbbiekben sok hétköznapi problémát meg tudunk majd oldani. MUNKAHELYZET-
RészletesebbenInformá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észletesebbenAlgoritmizálás és adatmodellezés 2. előadás
Algoritmizálás és adatmodellezés 2 előadás Összetett típusok 1 Rekord 2 Halmaz (+multialmaz, intervallumalmaz) 3 Tömb (vektor, mátrix) 4 Szekvenciális fájl (input, output) Pap Gáborné, Zsakó László: Algoritmizálás,
RészletesebbenTartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.
Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
RészletesebbenInformatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Rendezések TÁMOP-4.2.3.-12/1/KONV-2012-0018 Az alapfeladat egy N elemű sorozat nagyság szerinti sorba rendezése. A sorozat elemei
RészletesebbenKeresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala
RészletesebbenSzámjegyes vagy radix rendezés
Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben
RészletesebbenHalmaz típus Értékhalmaz:
Halmaz, multihalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 6. előadás
Algoritmizálás és adatmodellezés tanítása 6. előadás Összetett típusok 1. Rekord 2. Halmaz (+multihalmaz, intervallumhalmaz) 3. Tömb (vektor, mátrix) 4. Szekvenciális file (input, output) Pap Gáborné,
Részletesebben14. Mediánok és rendezett minták
14. Mediánok és rendezett minták Kiválasztási probléma Bemenet: Azonos típusú (különböző) elemek H = {a 1,...,a n } halmaza, amelyeken értelmezett egy lineáris rendezési reláció és egy i (1 i n) index.
Részletesebben2015, 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észletesebbenBevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok
RészletesebbenA 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
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 Bináris keresőfa, kupac Katona Gyula Y. (BME SZIT) A számítástudomány
RészletesebbenAlgoritmizálás, adatmodellezés 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből
Részletesebben19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI
19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI Ebben a fejezetben aszimptotikus (nagyságrendi) alsó korlátot adunk az összehasonlításokat használó rendező eljárások lépésszámára. Pontosabban,
Részletesebben