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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Átírás

1 Rendezések 8. előadás Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24. Sergyán (OE NIK) AAO október / 1

2 Felhasznált irodalom Szlávi Péter, Zsakó László: Módszeres programozás: Programozási tételek (Mikrológia 19). ELTE TTK, 2002 Sergyán (OE NIK) AAO október / 1

3 Rendezési algoritmusok A rendezési algoritmusok alapfeladata egy N elemű sorozat nagyság szerinti sorba rendezése. Szükséges, hogy a sorozat elemei között értelmezhető legyen a < művelet. A rendezéseket általában helyben az eredeti sorozatban hajtjuk végre, így a rendezetlen sorozatot elveszítjük Sergyán (OE NIK) AAO október / 1

4 Rendezések Sergyán (OE NIK) AAO október / 1

5 Egyszerű cserés rendezés Alapötlet Hasonĺıtsuk össze a sorozat első elemét az összes őt követővel. Ha egy elem kisebb mint az első, akkor cseréljük meg őket. Így a sorozat első helyére a megfelelő (azaz legkisebb) elem kerül. Ezt követően ugyanezt tegyük meg a második elemmel, majd az összes következővel. Sergyán (OE NIK) AAO október / 1

6 Egyszerű cserés rendezés Algoritmus 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]) Elágazás vége Ciklus vége Ciklus vége Eljárás vége Példa i = i = i = i = Sergyán (OE NIK) AAO október / 1

7 Csere megvalósítása Két sorozatbeli elem megcseréléséhez szükséges egy plusz elem a sorozaton kívül, melynek típusa azonos a sorozat elemeinek típusával. Algoritmus Csere(X [i],x [j]) TEMP := X [i] X [i] := X [j] X [j] := TEMP Eljárás vége Sergyán (OE NIK) AAO október / 1

8 Egyszerű cserés rendezés Hatékonyság Helyfoglalás: N + 1 Hasonĺıtások száma: N(N 1) 2 Mozgatások száma: Legalább 0, legfeljebb 3 N(N 1) 2 Sergyán (OE NIK) AAO október / 1

9 Rendezések összehasonĺıtása 30 elemű sorozatokat hasonĺıtottunk össze A majdnem rendezett sorozatban két elem nem volt a helyén. A fordítva rendezett sorozat csökkenő sorrendben volt rendezett. A véletlen sorozat az első 30 pozitív egész szám egy véletlen permutációja volt. Majdnem rendezett sorozat Fordítva rendezett sorozat Véletlen sorozat Hason. Csere Mozg. Hason. Csere Mozg. Hason. Csere Mozg. Egyszerű cserés Sergyán (OE NIK) AAO október / 1

10 Rendezések Sergyán (OE NIK) AAO október / 1

11 Minimumkiválasztásos rendezés Alapötlet Az Egyszerű cserés rendezés hibája, hogy általában túl sok cserét hajt végre annak érdekében, hogy az elemek a megfelelő helyre kerüljenek. Ezen javíthatunk, ha az aktuális elemet a mögötte állók minimumával cseréljük fel, ha egyáltalán kell cserélni. Sergyán (OE NIK) AAO október / 1

12 Minimumkiválasztásos rendezés Algoritmus 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 Elágazás vége Ciklus vége Csere(X [i],x [MIN]) Ciklus vége Eljárás vége Példa i = i = i = i = Sergyán (OE NIK) AAO október / 1

13 Minimumkiválasztásos rendezés Hatékonyság Helyfoglalás: N + 1 N(N 1) Hasonĺıtások száma: 2 Mozgatások száma: 3 (N 1) A mozgatások száma akár több is lehet, mint az Egyszerű cserés rendezésnél. Ennek oka, hogy a külső ciklusban mindenképp cserélünk, annak érdekében, hogy ne kelljen mindig egy összehasonĺıtást is elvégezni. Sergyán (OE NIK) AAO október / 1

14 Rendezések összehasonĺıtása Majdnem rendezett sorozat Fordítva rendezett sorozat Véletlen sorozat Hason. Csere Mozg. Hason. Csere Mozg. Hason. Csere Mozg. Egyszerű cserés Minimumkiválasztásos Sergyán (OE NIK) AAO október / 1

15 Rendezések Sergyán (OE NIK) AAO október / 1

16 Buborékos rendezés Alapötlet Összehasonĺıtjuk egymással a szomszédos elemeket, s ha a sorrendjük nem jó, akkor cseréljük meg őket. A szomszédok cseréje miatt először a legnagyobb elem fog a helyére kerülni, majd ezt követően a második legnagyobb, és így tovább. Az algoritmusban az elemek úgy kerülnek a sorozatbeli helyükre a legnagyobbtól kezdve, mint a felfelé szálló buborékok. Sergyán (OE NIK) AAO október / 1

17 Buborékos rendezés Algoritmus 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]) Elágazás vége Ciklus vége Ciklus vége Eljárás vége Példa i = i = i = i = Sergyán (OE NIK) AAO október / 1

18 Buborékos rendezés Hatékonyság Helyfoglalás: N + 1 Hasonĺıtások száma: N(N 1) 2 Mozgatások száma: Legalább 0, legfeljebb 3 N(N 1) 2 Sergyán (OE NIK) AAO október / 1

19 Rendezések összehasonĺıtása Majdnem rendezett sorozat Fordítva rendezett sorozat Véletlen sorozat Hason. Csere Mozg. Hason. Csere Mozg. Hason. Csere Mozg. Egyszerű cserés Minimumkiválasztásos Buborékos Sergyán (OE NIK) AAO október / 1

20 Rendezések Sergyán (OE NIK) AAO október / 1

21 Javított buborékos rendezés Alapötlet Ha a Buborékos rendezés belső ciklusában egyáltalán nincs már csere, akkor az algoritmust kár folytatni. Ha volt csere, de az utolsó csere például a sorozat közepénél volt, akkor az utolsó csere helyétől a sorozat végéig a sorozat már rendezett, tehát kár azzal a résszel foglalkozni. Sergyán (OE NIK) AAO október / 1

22 Javított buborékos rendezés Algoritmus 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 Elágazás vége Ciklus vége i := CS Ciklus vége Eljárás vége Példa i = i = i = Sergyán (OE NIK) AAO október / 1

23 Javított buborékos rendezés Helyfoglalás: N + 1 N(N 1) Hasonĺıtások száma: Legalább N 1, legfeljebb 2 N(N 1) Mozgatások száma: Legalább 0, legfeljebb 3 2 A Buborékos rendezéshez képest szignifikáns javulás az átlagos végrehajtási időben van. Sergyán (OE NIK) AAO október / 1

24 Rendezések összehasonĺıtása Majdnem rendezett sorozat Fordítva rendezett sorozat Véletlen sorozat Hason. Csere Mozg. Hason. Csere Mozg. Hason. Csere Mozg. Egyszerű cserés Minimumkiválasztásos Buborékos Javított buborékos Sergyán (OE NIK) AAO október / 1

25 Rendezések Sergyán (OE NIK) AAO október / 1

26 Beillesztéses rendezés Alapötlet Egy elem önmagában rendezett. A második elemet tegyük a helyére. A harmadikat és az összes következőt tegyük a helyére. Sergyán (OE NIK) AAO október / 1

27 Beillesztéses rendezés Algoritmus 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 Ciklus vége Ciklus vége Eljárás vége Példa i = i = i = i = Sergyán (OE NIK) AAO október / 1

28 Beillesztéses rendezés Hatékonyság Helyfoglalás: N + 1 N(N 1) Hasonĺıtások száma: Legalább N 1, legfeljebb 2 N(N 1) Mozgatások száma: Legalább 0, legfeljebb 3 2 Sergyán (OE NIK) AAO október / 1

29 Rendezések összehasonĺıtása Majdnem rendezett sorozat Fordítva rendezett sorozat Véletlen sorozat Hason. Csere Mozg. Hason. Csere Mozg. Hason. Csere Mozg. Egyszerű cserés Minimumkiválasztásos Buborékos Javított buborékos Beillesztéses rendezés Sergyán (OE NIK) AAO október / 1

30 Rendezések Sergyán (OE NIK) AAO október / 1

31 Javított beillesztéses rendezés Alapötlet A Beillesztéses rendezésben túl sok cserét hajtunk végre annak érdekében, hogy egy elem a helyére kerüljön. Hasznosabb lenne, ha a szükséges elemeket hátrább tolnánk eggyel. Sergyán (OE NIK) AAO október / 1

32 Javított beillesztéses rendezés Algoritmus 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 Ciklus vége X [j + 1] := Y Ciklus vége Eljárás vége Példa i = i = i = i = Sergyán (OE NIK) AAO október / 1

33 Javított beillesztéses rendezés Hatékonyság Helyfoglalás: N + 1 N(N 1) Hasonĺıtások száma: Legalább N 1, legfeljebb 2 Mozgatások száma: Legalább 2 (N 1), legfeljebb N(N 1) 2 (N 1) + 2 Sergyán (OE NIK) AAO október / 1

34 Rendezések összehasonĺıtása Majdnem rendezett sorozat Fordítva rendezett sorozat Véletlen sorozat Hason. Csere Mozg. Hason. Csere Mozg. Hason. Csere Mozg. Egyszerű cserés Minimumkiválasztásos Buborékos Javított buborékos Beillesztéses rendezés Javított beillesztéses Sergyán (OE NIK) AAO október / 1

35 Rendezések Sergyán (OE NIK) AAO október / 1

36 Szétosztó rendezés Alapötlet Feltesszük, hogy a rendezendő sorozat elemei struktúrák, amelyeknek van olyan kulcsmezője, amely 1 és N közötti természetes szám lehet, és nincs két azonos kulcsú elem. A kulcsmező egyértelműen meghatározza azt a helyet, ahova az adott elemnek kerülnie kell. Nincsen szükség hasonĺıtásra. Kell egy másik tömb, ahova az eredmény kerül. Struktúra típus Egy változóban több, akár különböző típusú változót zárhatunk egybe. Például: X.sorszam, X.eloado, X.cim, X.szerzo Sergyán (OE NIK) AAO október / 1

37 Szétosztó rendezés Algoritmus Rendezés(N,X,Y ) Ciklus i := 1-től N-ig Y [X [i].kulcs] := X [i] Ciklus vége Eljárás vége Sergyán (OE NIK) AAO október / 1

38 Szétosztó rendezés Hatékonyság Helyfoglalás: 2 N Hasonĺıtások száma: 0 Mozgatások száma: N Kulcsmezőindexelés: N Sergyán (OE NIK) AAO október / 1

39 Rendezések Sergyán (OE NIK) AAO október / 1

40 Számlálva szétosztó rendezés Alapötlet A kulcsmező indexe nem csak 1 és N közötti érték lehet, hanem N-nél nagyobb értéket is felvehet. Jelöljük a lehető legnagyobb elemet M-mel. Több elemnek is lehet ugyanolyan értékű a kulcsmezője. Először megszámláljuk, hogy melyik kulcsértékből hány darab van. Másodjára meghatározzuk minden kulcsértékhez a nála nemnagyobb kulcsértékű elemek számát. Harmadjára már minden elemet a helyére helyezhetünk. Sergyán (OE NIK) AAO október / 1

41 Számlálva szétosztó rendezés Algoritmus Rendezés(N,X,Y ) DB[1..M] := [0,..., 0] Ciklus i := 1-től N-ig DB [X [i].kulcs] := DB [X [i].kulcs] + 1 Ciklus vége Ciklus j := 2-től M-ig DB[j] := DB[j] + DB[j 1] Ciklus vége Ciklus i := 1-től N-ig Y [DB [X [i].kulcs]] := X [i] DB [X [i].kulcs] := DB [X [i].kulcs] 1 Ciklus vége Eljárás vége Sergyán (OE NIK) AAO október / 1

42 Számlálva szétosztó rendezés Hatékonyság Helyfoglalás: 2 N + M ε, ahol ε egy egész típusú változó memóriabeli mérete. ε jóval kisebb, mint egy összetett típusú tömbelem mérete. Hasonĺıtások száma: 0 Mozgatások száma: N Kulcsmezőindexelés: 5 N Sergyán (OE NIK) AAO október / 1

43 Rendezések Sergyán (OE NIK) AAO október / 1

44 Számláló rendezés Alapötlet Számoljuk meg, hogy egy elemnél hány kisebb elem van az egész sorozatban, illetve hány vele egyenlő van az őt megelőző indexűek között. Az így kapott szám meghatározza, hogy melyik elemnek hányadik helyen kell állnia a rendezett sorozatban. Sergyán (OE NIK) AAO október / 1

45 Számláló rendezés Algoritmus Rendezés(N,X,Y ) DB[1..N] := [1,..., 1] Ciklus i := 1-től N 1-ig Ciklus j := i + 1-től N-ig Ha X [i] > X [j] akkor DB[i] := DB[i] + 1 különben DB[j] := DB[j] + 1 Elágazás vége Ciklus vége Ciklus vége Ciklus i := 1-től N-ig Y [DB[i]] := X [i] Ciklus vége Eljárás vége Sergyán (OE NIK) AAO október / 1

46 Számláló rendezés Hatékonyság Helyfoglalás: 2 N + N ε N(N 1) Hasonĺıtások száma: 2 Mozgatások száma: N 2-szeres indexelés: N Sergyán (OE NIK) AAO október / 1

47 Rendezések Sergyán (OE NIK) AAO október / 1

48 Rendezés Shell módszerrel Alapötlet Hasonĺıtsuk először össze az egymástól távoli elemeket, és ha kell cseréljük meg őket Így az egyes elemek gyorsan közel kerülnek a végleges helyükhöz Sergyán (OE NIK) AAO október / 1

49 Rendezés Shell módszerrel Algoritmus 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 Ciklus vége X [j + L] := Y Ciklus vége Ciklus vége L :=Következő(L) Ciklus vége Eljárás vége Sergyán (OE NIK) AAO október / 1

50 Rendezés Shell módszerrel L 0 nem lépheti túl N-t A Következő(L) függvény meghatározására pár példa: 2 k 1 alakú eset Következő(L) Következő:=(L + 1)/2 1 Eljárás vége Fibonacci szám alakú eset Következő(L) L2 := L L1 L := L1 L1 := L2 Következő:=L1 Eljárás vége Sergyán (OE NIK) AAO október / 1

Közismereti informatika I. 4. előadás

Kö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é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

Tartalom. Programozási alapismeretek. 11. előadás

Tartalom. 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

Programozási alapismeretek 11. előadás

Programozá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észletesebben

Rendezések. Összehasonlító rendezések

Rendezé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é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

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

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

Rekurzív algoritmusok

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é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

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

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

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

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

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

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

Informatikai tehetséggondozás:

Informatikai 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é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

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

Algoritmuselmélet 2. előadás

Algoritmuselmé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é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

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

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

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom 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észletesebben

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

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 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é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

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

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

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

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 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észletesebben

A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában Oktatási Hivatal A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása INFORMATIKÁBÓL II. (programozás) kategóriában Kérjük a tisztelt tanár kollégákat, hogy a

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

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

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

Gyakorló feladatok ZH-ra

Gyakorló feladatok ZH-ra Algoritmuselmélet Schlotter Ildi 2011. április 6. ildi@cs.bme.hu Gyakorló feladatok ZH-ra Nagyságrendek 1. Egy algoritmusról tudjuk, hogy a lépésszáma O(n 2 ). Lehetséges-e, hogy (a) minden páros n-re

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

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

19. 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 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

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

Részletesebben

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

Részletesebben

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

Részletesebben

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

Részletesebben

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

Részletesebben

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

Részletesebben

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

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

Programozás I. zárthelyi dolgozat

Programozás I. zárthelyi dolgozat Programozás I. zárthelyi dolgozat 2013. november 11. 2-es szint: Laptopot szeretnénk vásárolni, ezért írunk egy programot, amelynek megadjuk a lehetséges laptopok adatait. A laptopok árát, memória méretét

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

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

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

Részletesebben

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

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

Részletesebben

A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában Oktatási Hivatal A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása INFORMATIKÁBÓL II. (programozás) kategóriában Kérjük a tisztelt tanár kollégákat, hogy a

Részletesebben

A PhysioBank adatmegjelenítő szoftvereinek hatékonysága

A PhysioBank adatmegjelenítő szoftvereinek hatékonysága A PhysioBank adatmegjelenítő szoftvereinek hatékonysága Kaczur Sándor kaczur@gdf.hu GDF Informatikai Intézet 2012. november 14. Célok, kutatási terv Szabályos EKG-felvétel: P, Q, R, S, T csúcs Anatómiai

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

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

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

Informatikai tehetséggondozás:

Informatikai tehetséggondozás: Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Visszalépéses maximumkiválasztás TÁMOP-4.2.3.-12/1/KONV 1. Munkásfelvétel: N állás N jelentkező Egy vállalkozás N különböző állásra

Részletesebben

Objektumorientált Programozás VI.

Objektumorientált Programozás VI. Objektumorientált Programozás VI. Tömb emlékeztető Egyszerű programozási tételek Összetett programozási tételek V 1.0 ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók

Részletesebben

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Dr. Kallós Gábor 2014 2015 1 Az Ordó jelölés Azt mondjuk, hogy az f(n) függvény eleme az Ordó(g(n)) halmaznak, ha van olyan c konstans (c

Részletesebben

Informatikai Rendszerek Alapjai

Informatikai Rendszerek Alapjai Informatikai Rendszerek Alapjai Dr. Kutor László A redundancia fogalma és mérése Minimális redundanciájú kódok 1. http://uni-obuda.hu/users/kutor/ IRA 2014 könyvtár Óbudai Egyetem, NIK Dr. Kutor László

Részletesebben

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből

Részletesebben

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok

Részletesebben

Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit

Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit 1. Valós számsorozaton valós számok meghatározott sorrendű végtelen listáját értjük. A hangsúly az egymásután következés rendjén van.

Részletesebben

Programozási tételek. PPT 2007/2008 tavasz.

Programozá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

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

A C programozási nyelv IV. Deklaráció és definíció

A C programozási nyelv IV. Deklaráció és definíció A C programozási nyelv IV. Deklaráció és definíció Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv IV. (Deklaráció és definíció) CBEV4 / 1 Definíció és deklaráció Definíció: meghatározza

Részletesebben

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

Részletesebben

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)

Részletesebben

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

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával) Adatszerkezetek I. 7. előadás (Horváth Gyula anyagai felhasználásával) Bináris fa A fa (bináris fa) rekurzív adatszerkezet: BinFa:= Fa := ÜresFa Rekord(Elem,BinFa,BinFa) ÜresFa Rekord(Elem,Fák) 2/37 Bináris

Részletesebben

Legkönnyebb és legnehezebb Rendezési algoritmusok

Legkönnyebb és legnehezebb Rendezési algoritmusok 7. foglalkozás Legkönnyebb és legnehezebb Rendezési algoritmusok Tartalom A számítógépeket gyakran használják arra, hogy listákat valamiféle rendbe rakjanak, például neveket ábécé szerint, találkozókat

Részletesebben

Sorozatok. 5. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Sorozatok p. 1/2

Sorozatok. 5. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Sorozatok p. 1/2 Sorozatok 5. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Sorozatok p. 1/2 A sorozat definíciója Definíció. A természetes számok halmazán értelmezett valós értékű a: N R függvényt

Részletesebben

Rendező algoritmusok. Tartalomjegyzék. Készítette: Gál Tamás

Rendező algoritmusok. Tartalomjegyzék. Készítette: Gál Tamás Rendező algortmusok Tartalomjegyzék Csere...2 Tömbelemek cseréje...2 Tömbelemek cseréje a a[]>a[+1]...3 n-1 csere, a a[]>a[+1]...4 (n-1)*(n-1) csere, a a[]>a[+1]...5 Buborék rendezés...6 Cserés rendezés...7

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

Eljárások és függvények

Eljárások és függvények Eljárások és függvények Jegyzet Összeállította: Faludi Anita 2012. Bevezetés Ez a jegyzet elsősorban azoknak a diákoknak készült, akiket tanítok, ezért a jegyzet erőteljesen hiányos. Az olvasó egy percig

Részletesebben

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek 3. Előadás Megyesi László: Lineáris algebra, 47. 50. oldal. Gondolkodnivalók Determinánsok 1. Gondolkodnivaló Determinánselméleti tételek segítségével határozzuk meg a következő n n-es determinánst: 1

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

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( ) Budapesti Műszaki és Gazdaságtudományi Egyetem Gépészmérnöki Kar Hidrodinamikai Rendszerek Tanszék, Budapest, Műegyetem rkp. 3. D ép. 334. Tel: 463-6-80 Fa: 463-30-9 http://www.vizgep.bme.hu Alap-ötlet:

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

22. szakkör (Csoportelméleti alapfogalmak 1.)

22. szakkör (Csoportelméleti alapfogalmak 1.) 22. szakkör (Csoportelméleti alapfogalmak 1.) A) A PERMUTÁCIÓK CIKLIKUS SZERKEZETE 1. feladat: Egy húsztagú társaság ül az asztal körül. Néhányat közülük (esetleg az összeset) párba állítunk, és a párok

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

1. Jelölje meg az összes igaz állítást a következők közül!

1. Jelölje meg az összes igaz állítást a következők közül! 1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.

Részletesebben

RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK

RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK 1. EGY SOROZATHOZ EGY SOROZATOT RENDELŐ TÉTELEK 1.1 Rendezések 1.1.1 Kitűzés Adott egy sorozat, és a sorozat elemein értelmezett egy < reláció. Rendezzük a sorozat

Részletesebben

Problémaosztályok, algoritmusok. Rendezés, keresés

Problémaosztályok, algoritmusok. Rendezés, keresés Problémaosztályok, algoritmusok Rendezés, keresés Rendezési és keresési algoritmusok Általános kérdések: Hogyan készíthetők jó algoritmusok? Hogyan tökéletesíthetők az algoritmusok? Algoritmusok hatékonyságának

Részletesebben

ALGORITMUSOK ÉS PROBLÉMAOSZTÁLYOK (1. előadás)

ALGORITMUSOK É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észletesebben

Gyakorló feladatok az II. konzultáció anyagához

Gyakorló feladatok az II. konzultáció anyagához Gyakorló feladatok az II. konzultáció anyagához 003/004 tanév, I. félév 1. Vizsgáljuk meg a következő sorozatokat korlátosság és monotonitás szempontjából! a n = 5n+1, b n = n + n! 3n 8, c n = 1 ( 1)n

Részletesebben

Visszalépéses keresés

Visszalépéses keresés Visszalépéses keresés Backtracking 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 Alapvető működése Továbbfejlesztési

Részletesebben

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1] Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.

Részletesebben

SZÁMTANI SOROZATOK. Egyszerű feladatok. 1. Egy számtani sorozatban:

SZÁMTANI SOROZATOK. Egyszerű feladatok. 1. Egy számtani sorozatban: SZÁMTANI SOROZATOK Egyszerű feladatok. Egy számtani sorozatban: a) a, a 29, a? 0 b) a, a, a?, a? 80 c) a, a 99, a?, a? 0 20 d) a 2, a2 29, a?, a90? 2 e) a, a, a?, a00? 2. Hány eleme van az alábbi sorozatoknak:

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

Ismétlés nélküli permutáció

Ismétlés nélküli permutáció Ismétlés nélküli permutáció Hányféleképpen lehet sorba rendezni n különböz elemet úgy, hogy a sorrend számít? (Ezt n elem ismétlés nélküli permutációjának nevezzük.) Például hány féleképpen lehet sorba

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

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

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

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

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex A sorozat fogalma Definíció. A természetes számok N halmazán értelmezett függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet a valós számok halmaza, valós számsorozatról beszélünk, mígha az

Részletesebben

Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012.

Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012. Programozási tételek Jegyzet Összeállította: Faludi Anita 2012. Tartalomjegyzék Bevezetés... 3 Programozási tételek... 4 I. Elemi programozási tételek... 4 1. Sorozatszámítás (összegzés)... 4 2. Eldöntés...

Részletesebben

Analízis előadás és gyakorlat vázlat

Analízis előadás és gyakorlat vázlat Analízis előadás és gyakorlat vázlat Készült a PTE TTK GI szakos hallgatóinak Király Balázs 00-. I. Félév . fejezet Számhalmazok és tulajdonságaik.. Nevezetes számhalmazok ➀ a) jelölése: N b) elemei:

Részletesebben

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

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

XIII. Bolyai Konferencia Bodnár József Eötvös József Collegium, ELTE TTK, III. matematikus. A véletlen nyomában

XIII. Bolyai Konferencia Bodnár József Eötvös József Collegium, ELTE TTK, III. matematikus. A véletlen nyomában XIII. Bolyai Konferencia Bodnár József Eötvös József Collegium, ELTE TTK, III. matematikus A véletlen nyomában Mi is az a véletlen? 1111111111, 1010101010, 1100010111 valószínűsége egyaránt 1/1024 Melyiket

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