Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.
|
|
- Ida Vass
- 7 évvel ezelőtt
- Látták:
Átírás
1 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 1 Keresés adatvektorban Lineáris keresés Logaritmikus keresés Rendezés Bevezetés Közvetlen kiválasztás Közvetlen beszúrás Buborékrendezés Összevetés Indextömbök 3 Feladat 016. november 7. Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november 7. 1 / 5 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november 7. / 5 Vektoralgoritmusok 1. fejezet Emlékeztet : eldöntési feladat Van-e a vektornak olyan eleme, amely rendelkezik egy adott tulajdonsággal? Keresés adatvektorban 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 016. november 7. 3 / 5 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november 7. 4 / 5
2 Lineáris keresés Keresés függvénnyel 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 */ 3 typedef struct { 4 kulcs_ tipus kulcs ; 5 double ar ; 6 } tombelem ; 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, 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 016. november 7. 5 / 5 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november 7. 6 / 5 Keresés hivatkozás visszaadásával A lineáris keresés várható lépésszáma A függvény visszaadhatja a megtalált elem indexét 1 int lin_keres_ind ( tombelem t [], int n, 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 016. november 7. 7 / 5 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/-re. a tárolt kulcsok megtalálásához átlagosan N/ lépés szükséges nem tárolt kulcsok keresésekor átlagosan N/ 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 016. november 7. 8 / 5
3 Keresés rendezett tömbben Egy régi ismer s feladat 1 tombelem * linrend_ keres ( tombelem t [], int n, 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 016. november 7. 9 / 5 1 int main () { int a =1, f =17; 3 printf (" Gondolj egy szamra %d es %d kozott!\ n",a,f ); 4 5 while (1) { 6 int v, k = (a+f )/; 7 printf ("%d?\ t", k ); 8 scanf ("%d", &v ); 9 if (v ==0) 10 break ; 11 if (v >0) 1 a=k +1; 13 else 14 f=k -1; 15 } 16 return 0; 17 } Számkitaláló játék adott intervallumon... Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november / 5 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, kulcs_ tipus kul ) { 3 int a =0, f=n -1, k; 4 while (a <f) { 5 k = (a+f )/; 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; 1 } 13 return kul <= t[ k ]. kulcs? k : k +1; 14 } Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november / 5 A keresés várható lépésszáma log N. fejezet Rendezés Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november 7. 1 / 5
4 Rendezés Mi kerül sokba? Rendezni érdemes mert rendezett N elem tömbben log N lépésben megtalálunk egy elemet (vagy megtudjuk, hogy nincs benne) Az összehasonlítás... mert rendezett N elem listában N/ 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 A mozgatás 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 Nincs legjobb rendez módszer Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november / 5 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november / 5 Rendezés közvetlen kiválasztással Közvetlen beszúrás 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. elemmel az utols ó N - elem minimum át... Cser é ld ki az N -. elemmel az utols ó elem minimum át A tömb egy i(= 4) hosszú rendezett szakaszból és egy N i hosszú rendezetlen szakaszból áll. 5. x MINDEN i - re 0-tól N - - 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) { 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 } 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 Összehasonlítások száma: O ( N ) N / Cserék száma: O (N) N 1 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november / 5 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november / 5
5 Közvetlen beszúrás Közvetlen beszúrás A közvetlen beszúrás C-kódja 5. x A rendezett részben az új elem helyét log i lépésben megtaláljuk Összehasonlítások száma: O (N log N) A beszúráshoz átlagosan i/ elemet el kell húzni Mozgatások száma: O ( N ) (max. (N /) mozgatás) 1. 1 for (i =1; i <N; i ++) { 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 )/; 7 if ( t[ k] < s) 8 a = k +1; 9 else 10 f = k; 11 } 1 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 016. november / 5 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november / 5 Buborékrendezés Javított buborékrendezés cserék gyelésével Szomszédos elemeket vizsgálunk. Ha rossz sorrendben állnak, csere 1 for ( iter = 0; iter < n -1; ++ iter ) for ( i = 0; i < N - iter -1; ++ i) 3 if (t[i] > t[i +1]) 4 xchg (t+i, t+i +1); 1 i = N-iter-1 = 1 Összehasonlítások száma: O ( N ) N / Cserék száma: O ( N ) max. (N /) 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 016. november / 5 1 stop = n -1; 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 016. november 7. 0 / 5
6 Rendez algoritmusok összehasonlítása Indextömbök 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 Nincs legjobb algoritmus 1. összehasonlító program 1 csak legrosszabb Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november 7. 1 / 5 Az adatmozgatások száma jelent sen csökkenthet, ha nem a tömbelemeket, hanem azok indexeit rendezzük 0 ABC13 Aladár 1 QE8BZX Dzsenifer 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 */ 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 016. november 7. / 5 Keresés Rendezés Feladat 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 ABC13 Aladár 1 QE8BZX Dzsenifer 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 Mihály 5 ABC13 0 D678EF 6 FEK671 4 F34K98 5 KJ967F 3 QE8BZX 1 S45FDO 3. fejezet Feladat Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november 7. 3 / 5 Farkas B., Fiala P., Vitéz A., Zsóka Z. Keresés és rendezés 016. november 7. 4 / 5
7 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 016. november 7. 5 / 5
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é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á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észletesebbenProgramozá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észletesebbenFü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é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észletesebben1. 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észletesebbenend 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é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észletesebbenProgramozá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észletesebbenMutató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észletesebbenProgramozá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észletesebbenSpeciá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észletesebbenMirő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é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á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é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észletesebbenA 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észletesebbenProgramozá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é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észletesebbenProgramozá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észletesebbenA 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észletesebbenInformá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észletesebbenA 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é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é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észletesebbenAlgoritmusok é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észletesebbenAlgoritmusok é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észletesebben10. 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é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 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észletesebbenProgramozá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észletesebbenProgramozá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észletesebben11. 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észletesebbenSzá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észletesebbenMirő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észletesebbenProgramozá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észletesebben2. 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é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é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észletesebbenC 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észletesebbenProgramozá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é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észletesebbenProgramozá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észletesebben17. 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é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é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észletesebbenAdminisztrá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é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észletesebbenÓ Ó É ü É ü ü
É Ó É Ú ü ű ú ú ü ü ü Ó Ó É ü É ü ü Ó ü ü ü É ü ü Ó É É ü ü ü ü ü ü ü ü ü ü ü ü ü Ó Ó ü ü ü ü ü ü ü É ü ü É ü ü ü ü ü ü Ó ü ü ü ü ü ü ü ü É Ó ü ü É Ó Ó ü ü ü ü ü É ü ü ü É ü ü ü ü ü Ó Ó ú ü ü ü ü ü ü Ó
Részletesebbenű ű ű Ö ű ű ű Ú ű ű ű Ö ű ű ű ű ű ű ű
ű Ö É ű É Ö ű ű ű ű ű ű ű ű ű Ö ű ű ű Ú ű ű ű Ö ű ű ű ű ű ű ű Ú Ú Ú Ü É É É É ű É Ú É ű É Ó Ö É É ű ű ű É ű Ö Ö ű Ö Ú ű ű ű Ú ű ű ű Ö ű ű ű É ű ű ű Ó Ü É É Ú Ú Ü Ü Ö Ó ű Ü Ü ű ű É Ó Ó ű ű Ü Ö Ó Ö Ü Ü ű
RészletesebbenÓ ú É ú É É É Ő ú ú ű Ó Ö É É ú Ü ú É ú
É Ó Ö É Ü ű ú Ü ÉÚ É ú ú ű ú Ó ú É ú É É É Ő ú ú ű Ó Ö É É ú Ü ú É ú Ó ú Ü Ü ú ű Ü Ö Ó ú ú ú ú É Ü ú ú Ü Ü Ó Ó É ú ú É É É É Ú Ü Ü ú Ü ú ú É Ő Ő ú É Ó Ó É Ő Ü Ó Ő ú Ó Ó É É ú Ü Ó Ó Ó É ú Ü Ú Ö Ü É ú Ó
RészletesebbenÚ Ú Ü Ü ű ű ű É Ú É ű
É Ó ű ű Ö Ú Ú Ü Ü ű ű ű É Ú É ű É ű ű ű Ü ű É ű Ű Ö ű ű ű Ú Ú É É Ó Ó Ú ű ű É Ú É Ü Ü Ú ű Ú Ó É Ü ű É ű ű ű Ö ű ű ű Ö Ö Ú ű Ü Ú Ö ű Ü ű Ü ű ű Ü Ö ű ű ű Ú Ü Ú Ó ű ű É É ű ű ű ű ű Ö ű ű ű ű ű ű ű Ö ű ű ű
RészletesebbenÓ Ó ú ú ú ú ú É ú
É Ö É ű ú É Ó É ú ú ú Ó Ó ú ú ú ú ú É ú Ó Ó ú É ú É ú Ó Ö É Ó Ó ú É ú Ö Ó Ó ú ú É É É ú Ó Ó É ú ú ú ú ú ú ú ú ú ú É Ú É Ó Ó ú ú Ó Ó Ö Ö É É É ú É É ú ú É É Ó Ó É Ű ú É Ó Ó Ű Ú ú ú É Ú Ú É Ú Ó Ó Ó É É É
Részletesebbenű ő ű ű ű ö ő ú ö ő ő ő ő ő ő ő ű ő ő ő ő ü ü ő ü ü ő ú ü ő ő ü ü ü ő ú ü
Ö ü ö ő ú ö ü ű ö ö ö ö ő ő ö ő ü ö ö ő ö ö ü ú ö ü ő ő ö ú ő ü ü ü ű ű ű ő ű ű ű ö ő ú ö ő ő ő ő ő ő ő ű ő ő ő ő ü ü ő ü ü ő ú ü ő ő ü ü ü ő ú ü ő ü ü ő ő ü ü ő ő ú ő ú ő ü ü ő ü ő ú ü Ü ő ő ö ő ü ő ü
RészletesebbenInformá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é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észletesebbenProgramozá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észletesebbenAlgoritmuselmé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észletesebbenProgramozá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észletesebbenAdatszerkezetek 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é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észletesebbenfile:///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észletesebbenEgyirá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észletesebbenLá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észletesebbenProgramozá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észletesebbenUgró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é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észletesebbenSzö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észletesebbenKupacrendezé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é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észletesebbenA 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é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észletesebbenC 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észletesebbenAdatszerkezetek 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észletesebbenINFORMATIKA 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észletesebbenProgramozá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észletesebbenTuesday, 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észletesebbenA 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észletesebbenProgramozá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észletesebbenAdatszerkezetek 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észletesebbenBBTE 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észletesebbenProgramozá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észletesebbenNagy 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észletesebbenINFORMATIKA 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észletesebbenProgramozá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é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észletesebben8. 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észletesebbenKö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é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é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! valós adatokat növekvő sorrendbe rendezi és egy sorba kiírja
RészletesebbenProgramozás I gyakorlat. 5. Struktúrák
Programozás I gyakorlat 5. Struktúrák Bemelegítés Írj programot, amely beolvassa 5 autó adatait, majd kiírja az adatokat a képernyőre. Egy autóról a következőket tároljuk: maximális sebesség fogyasztás
Részletesebben