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

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

Download "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"

Átírás

1 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 november 7. Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november 7. 1 / 26

2 Keresés Rendezés Feladat Tartalom 1 Keresés adatvektorban Lineáris keresés Logaritmikus keresés 2 Rendezés Bevezetés Közvetlen kiválasztás Közvetlen beszúrás Buborékrendezés Összevetés Indextömbök 3 Feladat Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november 7. 2 / 26

3 Keresés Rendezés Feladat Lineáris Logaritmikus 1. fejezet Keresés adatvektorban Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november 7. 3 / 26

4 Keresés Rendezés Feladat Lineáris Logaritmikus Vektoralgoritmusok Emlékeztet : eldöntési feladat Van-e a vektornak olyan eleme, amely rendelkezik egy adott tulajdonsággal? Keresési feladat Van-e a vektornak olyan eleme, amely rendelkezik egy adott tulajdonsággal? Ha van, melyik az els ilyen? tulajdonság: a tárolt elem valamelyik része (a keresés kulcsa) megegyezik egy konkrét értékkel. Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november 7. 4 / 26

5 Keresés Rendezés Feladat Lineáris Logaritmikus Lineáris keresés Az els elemt l kezdve egyesével vizsgáljuk az elemeket, amíg a keresett elemet meg nem találjuk, vagy ki nem derül, hogy nincs ilyen elem. A vektor elemtípusa struktúra, amelynek egyik tagja a kulcs, nagyon egyszer esetben maga a kulcs típusa. 1 typedef int kulcs_ tipus ; /* pl. cikksz ám */ 2 3 typedef struct { 4 kulcs_ tipus kulcs ; 5 double ar ; 6 } tombelem ; Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november 7. 5 / 26

6 Keresés Rendezés Feladat Lineáris Logaritmikus Keresés függvénnyel Ha függvényként valósítjuk meg milyen paramétereket adjunk át? mi legyen a visszatérési érték? Visszaadhatjuk a megtalált elemet 1 tombelem lin_ keres_ elem ( tombelem t [], int n, 2 kulcs_ tipus kul ) 3 { 4 int i; 5 for (i =0; i <n; i ++) 6 if (t[i ]. kulcs == kul ) 7 return t[ i ]; 8 return t [0]; /* ajjaj */ 9 } kényelmes, de nem tudjuk, hol volt Mit adjunk vissza, ha nem találtunk megfelel t?! Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november 7. 6 / 26

7 Keresés Rendezés Feladat Lineáris Logaritmikus Keresés hivatkozás visszaadásával A függvény visszaadhatja a megtalált elem indexét 1 int lin_keres_ind ( tombelem t [], int n, 2 kulcs_ tipus kul ) 3 { 4 int i; 5 for (i =0; i <n; i ++) 6 if (t[i ]. kulcs == kul ) 7 return i; 8 return n; 9 } Az elemet indexeléssel elérhetjük. Ha nem találtunk megfelel t, visszaadhatunk negatív indexet (pl. -1) n-et, ilyen index elem már nincs Visszaadhatjuk a megtalált elem címét Az elemet indirekcióval elérhetjük. Ha nem találtunk megfelel t, visszaadhatunk null-pointert, ezt könny tesztelni is Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november 7. 7 / 26

8 Keresés Rendezés Feladat Lineáris Logaritmikus A lineáris keresés várható lépésszáma Fontos, hogy olyan kulcs érték, amely nincs tárolva a tömbben, általában sokkal több létezik, mint olyan, amely tárolva van. Ha a tömb mérete N, a várható lépésszám N Ha a tömb a kulcs szerint rendezett, a lépésszám csökkenthet N/2-re. a tárolt kulcsok megtalálásához átlagosan N/2 lépés szükséges nem tárolt kulcsok keresésekor átlagosan N/2 lépés után d l el, hogy nincsenek meg (meghaladtuk) Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november 7. 8 / 26

9 Keresés Rendezés Feladat Lineáris Logaritmikus Keresés rendezett tömbben 1 tombelem * linrend_ keres ( tombelem t [], int n, 2 kulcs_ tipus kul ) 3 { 4 int i; 5 for (i =0; i < n; i ++) 6 if (t[i ]. kulcs >= kul ) 7 return t+i; 8 return NULL ; 9 } ha megvan a keresett kulcsú elem, akkor hivatkozást adhatunk vissza az elemre ha nincs, akkor hivatkozást adhatunk vissza arra a tömbelemre, ahol lennie kéne ez további vizsgálatot igényelhet a hívás helyén, de kés bb még jól jöhet Ha a tömb rendezett, van még ennél is jobb módszer Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november 7. 9 / 26

10 Keresés Rendezés Feladat Lineáris Logaritmikus Egy régi ismer s feladat 1 int main () { 2 int a =1, f =127; 3 printf (" Gondolj egy szamra %d es %d kozott!\ n",a,f ); 4 5 while (1) { 6 int v, k = (a+f )/2; 7 printf ("%d?\ t", k ); 8 scanf ("%d", &v ); 9 if (v ==0) 10 break ; 11 if (v >0) 12 a=k +1; 13 else 14 f=k -1; 15 } 16 return 0; 17 } link Számkitaláló játék adott intervallumon... Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

11 Keresés Rendezés Feladat Lineáris Logaritmikus Logaritmikus (bináris) keresés Ugyanígy, csak nem egy számot, hanem egy indexet keresve Minden egyes összehasonlító lépésben a keresési tartomány középs elemét vizsgáljuk A keresési tartomány minden egyes lépésben felez dik 1 int log_ keres ( tombelem t [], int n, 2 kulcs_ tipus kul ) { 3 int a =0, f=n -1, k; 4 while (a <f) { 5 k = (a+f )/2; 6 if ( kul == t[k ]. kulcs ) 7 return k; 8 if ( kul > t[k ]. kulcs ) 9 a=k +1; 10 else 11 f=k -1; 12 } 13 return kul <= t[ k ]. kulcs? k : k +1; 14 } link Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

12 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index 2. fejezet Rendezés Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

13 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Rendezés Rendezni érdemes mert rendezett N elem tömbben log 2 N lépésben megtalálunk egy elemet (vagy megtudjuk, hogy nincs benne)... mert rendezett N elem listában N/2 lépésben megtalálunk egy elemet (vagy megtudjuk, hogy nincs benne) Rendezni költséges de tipikus, hogy ritkán rendezünk, és rengetegszer keresünk Mibe kerül a rendezés?... = összehasonlítások száma egy összehasonlítás költsége + mozgatások (cserék) száma egy mozgatás költsége Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

14 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Mi kerül sokba? Az összehasonlítás A mozgatás Nincs legjobb rendez módszer Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

15 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Rendezés közvetlen kiválasztással Cser é ld ki a 0. elemmel a tö mb minimum át Cser é ld ki az 1. elemmel az utols ó N -1 elem minimum át Cser é ld ki a 2. elemmel az utols ó N -2 elem minimum át... Cser é ld ki az N -2. elemmel az utols ó 2 elem minimum át MINDEN i - re 0-tól N -2 - ig imin i MINDEN j - re i +1 - t l N -1 - ig HA t[j] < t[ imin ] imin j; t[i] t[ imin ]; 1 for (i =0; i <N -1; ++ i) { 2 imin = i; 3 for (j=i +1; j <N; ++ j) 4 if (t[j] < t[ imin ]) 5 imin = j; 6 xchg (t+i, t+ imin ); 7 } Összehasonlítások száma: O ( N 2) N 2 /2 Cserék száma: O (N) N 1 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

16 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Közvetlen beszúrás A tömb egy i(= 4) hosszú rendezett szakaszból és egy N i hosszú rendezetlen szakaszból áll. 5. x A rendezetlen rész els elemét szúrjuk be a rendezett részbe, a megfelel pozícióba Ezzel a rendezett szakasz hossza eggyel n tt Kezdetben i = 1, az egyelem tömb ugyanis rendezett Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

17 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Közvetlen beszúrás 5. x A rendezett részben az új elem helyét log 2 i lépésben megtaláljuk Összehasonlítások száma: O (N log 2 N) A beszúráshoz átlagosan i/2 elemet el kell húzni Mozgatások száma: O ( N 2) (max. (N 2 /2) mozgatás) Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

18 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Közvetlen beszúrás A közvetlen beszúrás C-kódja 1 for (i =1; i <N; i ++) 2 { 3 s = t[i ]; /* besz ú rand ó elem */ 4 for (a =0, f=i; a <f ;) /* log keres és 0 i közö tt */ 5 { 6 k = (a+f )/2; 7 if ( t[ k] < s) 8 a = k +1; 9 else 10 f = k; 11 } 12 for (j=i; j >a; j - -) /* ré szt ö mb húzá sa */ 13 t[ j] = t[j -1]; 14 t[ a ]= s; /* besz úrás */ 15 } Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

19 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Buborékrendezés Szomszédos elemeket vizsgálunk. Ha rossz sorrendben állnak, csere 1 for ( iter = 0; iter < n -1; ++ iter ) 2 for ( i = 0; i < N - iter -1; ++ i) 3 if (t[i] > t[i +1]) 4 xchg (t+i, t+i +1); i = N-iter-1 = 1 Összehasonlítások száma: O ( N 2) N 2 /2 Cserék száma: O ( N 2) max. (N 2 /2) Az utolsó három körben nem cseréltünk semmit. Nem derül ez ki korábban? Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

20 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Javított buborékrendezés cserék gyelésével 1 stop = n -1; 2 while ( stop!= 0) { 3 nextstop = 0; /* utols ó csere indexe */ 4 for ( i = 0; i < stop ; ++ i) 5 if (t[i] > t[i +1]) { 6 xchg (t+i, t+i +1) 7 nextstop = i; 8 } 9 stop = nextstop ; 10 } i = stop = 0 nextstop = 0 Az összehasonlítások száma csökkent A cserék száma maradt Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

21 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Rendez algoritmusok összehasonlítása N = összehasonlítások mozgatások száma közvetlen kiválasztás közvetlen beszúrás buborék javított buborék gyorsrendezés összehasonlító program Nincs legjobb algoritmus 1. 1 csak legrosszabb Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

22 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Indextömbök Az adatmozgatások száma jelent sen csökkenthet, ha nem a tömbelemeket, hanem azok indexeit rendezzük 0 ABC123 Aladár 1 QE8BZX Dzsenifer 2 S45FDO Kristóf 3 KJ967F Gyöngyvér 4 FEK671 Éva 5 F34K98 Mihály 6 D678EF Berci eredeti adatvektor rendezés név szerint rendez indextömb 1 for ( i = 0; i < n; ++ i) /* né vsor */ 2 printf ("%s\n", data [ index [i ]]. name ); Indexek helyett rendezhetünk mutatókat is, ha az eredeti tömb (vagy lista) a memóriában van Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

23 Keresés Rendezés Feladat Bevezetés kivál. beszúr buborék összevet index Rendezés több szempont szerint Több kulcs szerint rendezés indextömbökkel Gyors keresés érdekében érdemes az indextömbökben a kulcsokat is tárolni, és az indextömböket kulcs szerint rendezve tartani 0 ABC123 Aladár 1 QE8BZX Dzsenifer 2 S45FDO Kristóf 3 KJ967F Gyöngyvér 4 FEK671 Éva 5 F34K98 Mihály 6 D678EF Berci Aladár 0 Berci 6 Dzsenifer 1 Éva 4 Gyöngyvér 3 Kristóf 2 Mihály 5 ABC123 0 D678EF 6 FEK671 4 F34K98 5 KJ967F 3 QE8BZX 1 S45FDO 2 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

24 Keresés Rendezés Feladat 3. fejezet Feladat Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

25 Keresés Rendezés Feladat Egy összetettebb feladat Írjunk programot, mely egy szöveges fájl összes max. 50 bet s szavának gyakoriságáról statisztikát készít Tervezés Szavak száma csak menet közben derül ki láncolt lista Gyorsabb keresés miatt névsor szerint rendezett Rendezett beszúrások miatt elöl strázsás Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

26 Keresés Rendezés Feladat Köszönöm a gyelmet. Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés november / 26

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

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

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

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

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t.. A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6

Részletesebben

PROGRAMOZÁSI TÉTELEK

PROGRAMOZÁ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é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 C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism) Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

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

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

Adatbázis rendszerek Gy: Algoritmusok C-ben

Adatbá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é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 alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek 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

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök Programozás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet

Részletesebben

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus adatszerkezetek. Dinamikus adatszerkezetek. Önhivatkozó struktúrák. Önhivatkozó struktúrák

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus adatszerkezetek. Dinamikus adatszerkezetek. Önhivatkozó struktúrák. Önhivatkozó struktúrák 2012. március 27. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? Dinamikus adatszerkezetek Önhivatkozó struktúra keresés, beszúrás,

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

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

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek: A programozás alapjai 1 Dinamikus adatszerkezetek:. előadás Híradástechnikai Tanszék Dinamikus adatszerkezetek: Adott építőelemekből, adott szabályok szerint felépített, de nem rögzített méretű adatszerkezetek.

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 07

Algoritmusok és adatszerkezetek gyakorlat 07 Algoritmusok és adatszerkezetek gyakorlat 0 Keresőfák Fák Fa: összefüggő, körmentes gráf, melyre igaz, hogy: - (Általában) egy gyökér csúcsa van, melynek 0 vagy több részfája van - Pontosan egy út vezet

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia Sor és verem adatszerkezet Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2009. november 19. Alapötlet

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

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

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

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

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

10. gyakorlat Tömb, mint függvény argumentum

10. gyakorlat Tömb, mint függvény argumentum 10. gyakorlat Tömb, mint függvény argumentum 1. feladat: A 6. gyakorlat 1. feladatát oldja meg a strukturált programtervezési alapelv betartásával, azaz minden végrehajtandó funkciót külön függvényben

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

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

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

értékel függvény: rátermettségi függvény (tness function)

értékel függvény: rátermettségi függvény (tness function) Genetikus algoritmusok globális optimalizálás sok lehetséges megoldás közül keressük a legjobbat értékel függvény: rátermettségi függvény (tness function) populáció kiválasztjuk a legrátermettebb egyedeket

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

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont) A Név: l 2017.04.06 Neptun kód: Gyakorlat vezet : HG BP l 1. Az A vektor tartalmát az alábbi KUPACOL eljárással rendezzük át maximum kupaccá. A={28, 87, 96, 65, 55, 32, 51, 69} Mi lesz az értéke az A vektor

Részletesebben

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a

Részletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. szeptember 27. Háromszög szerkeszthet ségének ellen rzése ANSI C (C89) megvalósítás #i n c l u d e i n t main ( v

Részletesebben

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. 11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;

Részletesebben

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

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8. Algoritmuselmélet 2-3 fák Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 8. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet 8. előadás

Részletesebben

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7. Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Dinamikus memóriakezelés Dinamikus tömbök Dinamikus stringek Program kapcsolata a

Részletesebben

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union Programozás alapjai C nyelv 10. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.21. -1- Standard függvények Standard függvények amelyeket

Részletesebben

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

file:///d:/okt/ad/jegyzet/ad1/b+fa.html 1 / 5 2016. 11. 30. 12:58 B+ fák CSci 340: Database & Web systems Home Syllabus Readings Assignments Tests Links Computer Science Hendrix College Az alábbiakban Dr. Carl Burch B+-trees című Internetes

Részletesebben

14. Mediánok és rendezett minták

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

17. A 2-3 fák és B-fák. 2-3 fák

17. A 2-3 fák és B-fák. 2-3 fák 17. A 2-3 fák és B-fák 2-3 fák Fontos jelentősége, hogy belőlük fejlődtek ki a B-fák. Def.: Minden belső csúcsnak 2 vagy 3 gyermeke van. A levelek egy szinten helyezkednek el. Az adatrekordok/kulcsok csak

Részletesebben

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Ciklusok for (ismétlés) while do while 2 for utasítás szöveg 10-szeri kiíratása: int

Részletesebben

Programozás I. - 11. gyakorlat

Programozás I. - 11. gyakorlat Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

Programozás I gyakorlat. 10. Stringek, mutatók

Programozás I gyakorlat. 10. Stringek, mutatók Programozás I gyakorlat 10. Stringek, mutatók Karakter típus A char típusú változókat karakerként is kiírhatjuk: #include char c = 'A'; printf("%c\n", c); c = 80; printf("%c\n", c); printf("%c\n",

Részletesebben

Hatékonyság 1. előadás

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

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

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

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei Strukturált C-Strukturált Egyéb elemek Strukturált C-Strukturált Egyéb elemek Adminisztrációs feladatok Strukturált programok A C programnyelv elemei A programozás alapjai. álózati Rendszerek és Szolgáltatások

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia A C programozási nyelv elemei, rendező algoritmusok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010.

Részletesebben

Ó Ó É ü É ü ü

Ó Ó É ü É ü ü É Ó É Ú ü ű ú ú ü ü ü Ó Ó É ü É ü ü Ó ü ü ü É ü ü Ó É É ü ü ü ü ü ü ü ü ü ü ü ü ü Ó Ó ü ü ü ü ü ü ü É ü ü É ü ü ü ü ü ü Ó ü ü ü ü ü ü ü ü É Ó ü ü É Ó Ó ü ü ü ü ü É ü ü ü É ü ü ü ü ü Ó Ó ú ü ü ü ü ü ü Ó

Részletesebben

ű ű ű Ö ű ű ű Ú ű ű ű Ö ű ű ű ű ű ű ű

ű ű ű Ö ű ű ű Ú ű ű ű Ö ű ű ű ű ű ű ű ű Ö É ű É Ö ű ű ű ű ű ű ű ű ű Ö ű ű ű Ú ű ű ű Ö ű ű ű ű ű ű ű Ú Ú Ú Ü É É É É ű É Ú É ű É Ó Ö É É ű ű ű É ű Ö Ö ű Ö Ú ű ű ű Ú ű ű ű Ö ű ű ű É ű ű ű Ó Ü É É Ú Ú Ü Ü Ö Ó ű Ü Ü ű ű É Ó Ó ű ű Ü Ö Ó Ö Ü Ü ű

Részletesebben

Ó ú É ú É É É Ő ú ú ű Ó Ö É É ú Ü ú É ú

Ó ú É ú É É É Ő ú ú ű Ó Ö É É ú Ü ú É ú É Ó Ö É Ü ű ú Ü ÉÚ É ú ú ű ú Ó ú É ú É É É Ő ú ú ű Ó Ö É É ú Ü ú É ú Ó ú Ü Ü ú ű Ü Ö Ó ú ú ú ú É Ü ú ú Ü Ü Ó Ó É ú ú É É É É Ú Ü Ü ú Ü ú ú É Ő Ő ú É Ó Ó É Ő Ü Ó Ő ú Ó Ó É É ú Ü Ó Ó Ó É ú Ü Ú Ö Ü É ú Ó

Részletesebben

Ú Ú Ü Ü ű ű ű É Ú É ű

Ú Ú Ü Ü ű ű ű É Ú É ű É Ó ű ű Ö Ú Ú Ü Ü ű ű ű É Ú É ű É ű ű ű Ü ű É ű Ű Ö ű ű ű Ú Ú É É Ó Ó Ú ű ű É Ú É Ü Ü Ú ű Ú Ó É Ü ű É ű ű ű Ö ű ű ű Ö Ö Ú ű Ü Ú Ö ű Ü ű Ü ű ű Ü Ö ű ű ű Ú Ü Ú Ó ű ű É É ű ű ű ű ű Ö ű ű ű ű ű ű ű Ö ű ű ű

Részletesebben

Ó Ó ú ú ú ú ú É ú

Ó Ó ú ú ú ú ú É ú É Ö É ű ú É Ó É ú ú ú Ó Ó ú ú ú ú ú É ú Ó Ó ú É ú É ú Ó Ö É Ó Ó ú É ú Ö Ó Ó ú ú É É É ú Ó Ó É ú ú ú ú ú ú ú ú ú ú É Ú É Ó Ó ú ú Ó Ó Ö Ö É É É ú É É ú ú É É Ó Ó É Ű ú É Ó Ó Ű Ú ú ú É Ú Ú É Ú Ó Ó Ó É É É

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

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

ű ő ű ű ű ö ő ú ö ő ő ő ő ő ő ő ű ő ő ő ő ü ü ő ü ü ő ú ü ő ő ü ü ü ő ú ü

ű ő ű ű ű ö ő ú ö ő ő ő ő ő ő ő ű ő ő ő ő ü ü ő ü ü ő ú ü ő ő ü ü ü ő ú ü Ö ü ö ő ú ö ü ű ö ö ö ö ő ő ö ő ü ö ö ő ö ö ü ú ö ü ő ő ö ú ő ü ü ü ű ű ű ő ű ű ű ö ő ú ö ő ő ő ő ő ő ő ű ő ő ő ő ü ü ő ü ü ő ú ü ő ő ü ü ü ő ú ü ő ü ü ő ő ü ü ő ő ú ő ú ő ü ü ő ü ő ú ü Ü ő ő ö ő ü ő ü

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

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 9.Gy: Struktúra 2.

Programozás alapjai 9.Gy: Struktúra 2. Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).

Részletesebben

Programozás 6. Dr. Iványi Péter

Programozás 6. Dr. Iványi Péter Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak

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

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

Programozás alapjai. 8. előadás 8. előadás Wagner György Általános Informatikai Tanszék Azonosítók érvényességi köre Kiindulási alap: a blokkszerkezetű programozási nyelvek (C, FORTRAN, PASCAL, ) Egy program szerkezete: Fejléc Deklarációsrész

Részletesebben

Egyirányban láncolt lista

Egyirányban láncolt lista Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten

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

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime? Ugrólisták Ugrólisták Ugrólisták Ugrólisták RSL Insert Example insert(22) with 3 flips 13 8 29 20 10 23 19 11 2 13 22 8 29 20 10 23 19 11 2 Runtime? Ugrólisták Empirical analysis http://www.inf.u-szeged.hu/~tnemeth/alga2/eloadasok/skiplists.pdf

Részletesebben

Számjegyes vagy radix rendezés

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

Szövegek C++ -ban, a string osztály

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

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

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) 1. (5p) Tekintsük a következő alprogramot: Alprogram f(a): Ha a!= 0, akkor visszatérít: a + f(a - 1) különben visszatérít

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

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

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

Adatszerkezetek 1. előadás

Adatszerkezetek 1. előadás Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk

Részletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

Részletesebben

Tuesday, March 6, 12. Hasító táblázatok

Tuesday, March 6, 12. Hasító táblázatok Hasító táblázatok Halmaz adattípus U (kulcsuniverzum) K (aktuális kulcsok) Függvény adattípus U (univerzum) ÉT (értelmezési tartomány) ÉK (érték készlet) Milyen az univerzum? Közvetlen címzésű táblázatok

Részletesebben

Programozás alapjai C nyelv 9. gyakorlat. Rekurzió. Rekurzív algoritmus

Programozás alapjai C nyelv 9. gyakorlat. Rekurzió. Rekurzív algoritmus Programozás alapjai C nyelv 9. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.14. -1- Rekurzió A feladat algoritmusa eleve rekurzív

Részletesebben

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.

Részletesebben

Adatszerkezetek Hasító táblák. Dr. Iványi Péter

Adatszerkezetek Hasító táblák. Dr. Iványi Péter Adatszerkezetek Hasító táblák Dr. Iványi Péter 1 Hash tábla A bináris fáknál O(log n) a legjobb eset a keresésre. Ha valamilyen közvetlen címzést használunk, akkor akár O(1) is elérhető. A hash tábla a

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

Programozás 5. Dr. Iványi Péter

Programozás 5. Dr. Iványi Péter Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct

Részletesebben

file:///d:/apa/okt/ad/jegyzet/ad1/b+fa.html

file:///d:/apa/okt/ad/jegyzet/ad1/b+fa.html 1 / 6 2018.01.20. 23:23 B+ fák CSci 340: Database & Web systems Home Syllabus Readings Assignments Tests Links Computer Science Hendrix College Az alábbiakban Dr. Carl Burch B+-trees című Internetes tananyagának

Részletesebben

INFORMATIKA tétel 2019

INFORMATIKA tétel 2019 INFORMATIKA tétel 2019 ELIGAZÍTÁS: 1 pont hivatalból; Az 1-4 feladatokban (a pszeudokód programrészletekben): (1) a kiír \n utasítás újsorba ugratja a képernyőn a kurzort; (2) a / operátor osztási hányadost

Részletesebben

8. gyakorlat Pointerek, dinamikus memóriakezelés

8. gyakorlat Pointerek, dinamikus memóriakezelés 8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.

Részletesebben

Algoritmuselmélet 1. előadás

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

Körkörös listák. fej. utolsó. utolsó. fej

Körkörös listák. fej. utolsó. utolsó. fej Körkörös listák fej utolsó fej utolsó Példa. Kiszámolós játék. Körben áll n gyermek. k-asával kiszámoljuk őket. Minden k-adik kilép a körből. Az nyer, aki utolsónak marad. #include using namespace

Részletesebben

Nagy HF ke szı te si u tmutato

Nagy HF ke szı te si u tmutato A programozás alapjai 1. BMEVIHIAA01 Nagy HF ke szı te si u tmutato Analízis és Specifikáció (Nyelv független) 0. A Házi feladat témája 1. A Házi feladat téma szöveges leírása 2. A feladat résztvevőinek

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