Algoritmusok és adatszerkezetek I. 4. előadás

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

Download "Algoritmusok és adatszerkezetek I. 4. előadás"

Átírás

1 Algoritmusok és adatszerkezetek I. 4. előadás

2 A lista olyan sorozat, amelyben műveleteket egy kiválasztott, az ún. aktuális elemmel lehet végezni. A lista rendelkezik az alábbi műveletekkel: Üres: Lista üres?(lista): Logikai Érték(Lista): Elem {NemDef} Módosít(Lista,Elem): Lista {NemDef} Szlávi Péter, Zsakó László: Adatszerkezetek I :19 2/46

3 A lista rendelkezik az alábbi műveletekkel: Elsőre(Lista): Lista {NemDef} Következőre(Lista): Lista {NemDef} BeszúrMögé(Lista,Elem): Lista {NemDef} BeszúrElejére(Lista,Elem): Lista {NemDef} utolsó?(lista): Logikai {NemDef} Kihagy(Lista): Lista {NemDef} Szlávi Péter, Zsakó László: Adatszerkezetek I :19 3/46

4 A lista tulajdonságai Lista Üres listára a beszúrás és az üresség vizsgálat kivételével minden művelet értelmetlen. Nem üres listának van aktuális eleme. Az utolsó elem után alkalmazott következőre lépés művelet az aktuális elemet nemdefiniált értékűvé teszi (sehova érték). Ebben az esetben utána csak az Elsőre vagy a BeszúrElejére művelet használható. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 4/46

5 A lista tulajdonságai Lista A BeszúrMögé művelet az aktuális elem mögé szúr be új elemet, és mindkét beszúr művelet után a beszúrt elem lesz az aktuális. Üres listára a BeszúrMögé hatása azonos a BeszúrElejére hatásával. A Kihagy az aktuális elemet hagyja ki, és utána a következő lesz az aktuális. Ha nem volt következő, akkor az aktuális az új utolsó lesz. Ha egyelemű volt, akkor nem lesz aktuális. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 5/46

6 Lista (dinamikus) láncolt ábrázolása: Típus TListaElem=Rekord(érték: Telem köv: Mutató(TListaElem)) Változó fej,akt: Mutató(TListaElem) hiba: Logikai Esetleg meggondolandó a lista elemszámának tárolása is. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 6/46

7 Eljárás Üres(L): L.fej:=sehova; L.akt:=sehova L.hiba:=Hamis Eljárás vége. Függvény üres?(l): üres?:=(l.fej=sehova) Függvény vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 7/46

8 Függvény Érték(L): Ha L.akt=sehova akkor L.hiba:=igaz különben Érték:=tartalom(L.akt).érték Függvény vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 8/46

9 Eljárás Elsőre(L): Ha L.fej=sehova akkor L.hiba:=igaz különben L.akt:=L.fej Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 9/46

10 Eljárás Következőre(L): Ha L.akt=sehova akkor L.hiba:=igaz különben L.akt:=tartalom(L.akt).köv Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 10/46

11 Eljárás BeszúrMögé(L,e): Ha L.fej=sehova akkor BeszúrElejére(L,e) különben Ha L.akt=sehova akkor L.hiba:=igaz különben Lefoglal(új,(e,tartalom(L.akt).köv)) tartalom(l.akt).köv:=új; L.akt:=új Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 11/46

12 Eljárás BeszúrElejére(L,e): régi:=l.fej; Lefoglal(L.fej,(e,régi)) L.akt:=L.fej Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 12/46

13 Eljárás Kihagy(L): Ha L.akt=sehova akkor L.hiba:=igaz különben ha L.akt=L.fej akkor L.fej:=tartalom(L.akt).köv Felszabadít(L.akt); L.akt:=L.fej... Szlávi Péter, Zsakó László: Adatszerkezetek I :19 13/46

14 ... különben el:=l.fej Ciklus amíg tartalom(el).köv L.akt el:=tartalom(el).köv Ciklus vége tartalom(el).köv:=tartalom(l.akt).köv Felszabadít(L.akt) Ha tartalom(el).köv sehova akkor L.akt:=tartalom(el).köv különben L.akt:=el Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 14/46

15 Eljárás utolsó?(l): Ha L.akt=sehova akkor L.hiba:=igaz különben utolsó?:=tartalom(l.akt).köv=sehova Függvény vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 15/46

16 alkalmazás: kiválogatás Kiválogatás Bemenet: X H *, T:H L Kimenet: Y H * Előfeltétel: hossz(x)>0 Utófeltétel: Y X és y(y Y): T(y) és x(x X és x Y): nem T(x) Szlávi Péter, Zsakó László: Adatszerkezetek I :19 16/46

17 alkalmazás: kiválogatás Kiválogatás(L,M): Elsőre(L); Üres(M) Ciklus amíg nem utolsó?(l) e:=érték(l) Ha T(e) akkor BeszúrMögé(M,e) Következőre(L) Ciklus vége e:=érték(l) Ha T(e) akkor BeszúrMögé(M,e) Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 17/46

18 alkalmazás: Edényrendezés A rendezendő N elemű sorozat az 1..M értékeket tartalmazza. Vegyünk M edényt (most listát), amikbe szétválogatjuk az M-féle értéket, majd ezek egymás mögé másolásával előáll a rendezett sorozat! Szlávi Péter, Zsakó László: Adatszerkezetek I :19 18/46

19 alkalmazás: Edényrendezés Rendezés(X): Ciklus i=1-től M-ig Üres(L(i)) Ciklus vége Ciklus i=1-től N-ig BeszúrMögé(L(X(i)),X(i)) Ciklus vége... Szlávi Péter, Zsakó László: Adatszerkezetek I :19 19/46

20 alkalmazás: Edényrendezés... j:=0 Ciklus i=1-től M-ig Elejére(L(i)) Ciklus amíg L(i).akt Sehova j:=j+1; X(j):=Érték(L(i)) Következőre(L(i)) Ciklus vége Ciklus vége Eljárás vége. Megjegyzés: nem szép megoldás az ábrázolás ismeretének kihasználása (L(i).akt Sehova) Szlávi Péter, Zsakó László: Adatszerkezetek I :19 20/46

21 Definiáljunk egy új műveletet: vége?(l) legyen igaz, ha az utolsó elem utánra léptünk. Függvény vége?(l): vége?:=(l.akt=sehova) Függvény vége. Ekkor: Ciklus amíg L(i).akt Sehova Ciklus amíg nem vége?(l(i)) Szlávi Péter, Zsakó László: Adatszerkezetek I :19 21/46

22 alkalmazás: Beillesztéses rendezés Rendezés(X,L): Üres(L); BeszúrElejére(L,X(1)) Ciklus i=2-től N-ig Elsőre(L); e:=x(i) Ciklus amíg nem utolsó?(l) és e>érték(l) Következőre(L) Ciklus vége Ha e>érték(l) akkor BeszúrMögé(L,e) különben BeszúrElé(L,e) Ciklus vége Függvény vége. Baj van: annál az elemnél állunk, amely elé be kell szúrnunk az új elemet! Kivétel: ha éppen a lista végére kell tenni! Szlávi Péter, Zsakó László: Adatszerkezetek I :19 22/46

23 Definiáljunk egy új műveletet: BeszúrElé(L,e) az aktuális elem elé szúrjon be új elemet! (Hibakezelés meggondolandó!) Eljárás BeszúrElé(L,e): Ha üres?(l) akkor BeszúrElejére(L,e) különben f:=tartalom(l.akt).érték; akt:=l.akt tartalom(l.akt).érték:=e BeszúrMögé(L,f); L.akt:=akt Függvény vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 23/46

24 Lista (statikusan) láncolt ábrázolása: Típus TListaElem=Rekord(érték: Telem köv: Egész) Változó fej,akt: Egész t: Tömb(1..MaxHossz: TListaElem) szabad: Egész hiba: Logikai Megjegyzés: A szabad elemeket nekünk kell listába fűznünk. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 24/46

25 Eljárás Üres(L): L.fej:=0; L.akt:=0; L.szabad:=1 Ciklus i=1-től MaxHossz-1-ig L.t(i).köv:=i+1 Ciklus vége L.t(MaxHossz).köv:=0; L.hiba:=Hamis Eljárás vége. Függvény üres?(l): üres?:=(l.fej=0) Függvény vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 25/46

26 Függvény Érték(L): Ha L.akt=0 akkor L.hiba:=igaz különben Érték:=L.t(L.akt).érték Függvény vége. Eljárás Módosít(L,e): Ha L.akt=0 akkor L.hiba:=igaz különben L.t(L.akt).érték:=e Függvény vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 26/46

27 Eljárás Elsőre(L): Ha L.fej=0 akkor L.hiba:=igaz különben L.akt:=L.fej Eljárás vége. Eljárás Következőre(L): Ha L.akt=0 akkor L.hiba:=igaz különben L.akt:=L.t(L.akt).köv Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 27/46

28 Eljárás BeszúrMögé(L,e): Ha L.akt=L.fej akkor BeszúrElejére(L,e) különben Ha L.akt=0 vagy L.szabad=0 akkor L.hiba:=igaz különben s:=l.t(l.szabad).köv L.t(L.szabad):=(e,L.t(L.akt).köv) L.t(L.akt).köv:=L.szabad L.akt:=L.szabad; L.szabad:=s Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 28/46

29 Eljárás BeszúrElejére(L,e): Ha L.szabad=0 akkor L.hiba:=igaz különben s:=l.t(l.szabad).köv L.t(L.szabad):=(e,L.fej) L.fej:=L.szabad; L.akt:=L.fej L.szabad:=s Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 29/46

30 Eljárás Kihagy(L): Ha L.akt=0 akkor L.hiba:=igaz különben ha L.fej=L.akt akkor s:=l.fej L.fej:=L.t(L.fej).köv; L.akt:=L.fej L.t(s).köv:=L.szabad; L.szabad:=s... Szlávi Péter, Zsakó László: Adatszerkezetek I :19 30/46

31 ... különben el:=l.fej; k:=l.t(el).köv Ciklus amíg L.t(el).köv L.akt el:=l.t(el).köv Ciklus vége L.t(el).köv:=L.t(L.akt).köv L.t(L.akt).köv:=L.szabad L.szabad:=L.akt Ha k sehova akkor L.akt:=k különben L.akt:=el Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 31/46

32 Függvény utolsó?(l): Ha L.akt=0 akkor L.hiba:=igaz különben utolsó?:=l.t(l.akt).köv=0 Függvény vége. Függvény vége?(l): vége?:=(l.akt=0) Függvény vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 32/46

33 Lista folytonos, szekvenciális ábrázolása: Típus TListaElemek=Tömb(1..MaxHossz:TElem) Változó t:tlistaelemek akt,hossz:0..maxhossz+1 hiba: Logikai Megjegyzés: A listaelemeket 1 és MaxHossz között helyezzük el. A listafej mindig az 1. elem. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 33/46

34 Eljárás Üres(L): L.akt:=0; L.hossz:=0; L.hiba:=Hamis Eljárás vége. Függvény üres?(l): üres?:=(l.hossz=0) Függvény vége. Függvény Érték(L) Ha L.akt [1..hossz] akkor Érték:=L.t(L.akt) különben L.hiba:=Igaz Függvény vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 34/46

35 Eljárás Elsőre(L): Ha L.hossz=0 akkor L.hiba:=Igaz különben L.akt:=1 Eljárás vége. Eljárás Következőre(L): Ha L.akt [1..hossz] akkor L.akt:=L.akt+1 különben L.hiba:=Igaz Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 35/46

36 Eljárás BeszúrElejére(L,e): Ha L.hossz=0 akkor L.t(1):=e; L.akt:=1 L.hossz:=1 különben ha L.hossz<MaxHossz akkor Ciklus i=l.hossz-tól 1-ig -1-esével L.t(i+1):=L.t(i) Ciklus vége L.t(1):=e; L.hossz:=L.hossz+1 L.akt:=1 különben Hiba:=igaz Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 36/46

37 Eljárás BeszúrMögé(L,e): Ha L.hossz=0 akkor L.t(1):=e; L.akt:=1 L.hossz:=1 különben ha L.akt=L.hossz és L.hossz<MaxHossz akkor L.akt:=L.akt+1 L.t(L.akt):=e L.hossz:=L.hossz+1 Szlávi Péter, Zsakó László: Adatszerkezetek I :19 37/46

38 különben ha L.akt [1..L.hossz-1] és L.hossz<MaxHossz akkor L.akt:=L.akt+1 Ciklus i=l.hossz-tól L.akt-ig -1-esével L.t(i+1):=L.t(i) Ciklus vége L.t(L.akt):=e; L.hossz:=L.hossz+1 különben L.hiba:=Igaz Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 38/46

39 Eljárás Kihagy(L): Ha L.akt [1..L.hossz-1] akkor Ciklus i=l.akt-tól L.hossz-1-ig L.t(i):=L.t(i+1) Ciklus vége L.hossz:=L.hossz-1 különben ha L.akt=L.hossz akkor L.hossz:=L.hossz-1; L.akt:=L.hossz különben L.hiba:=Igaz Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 39/46

40 Kétirányú lista A kétirányú lista olyan sorozat, amely a lista műveletein kívül az alábbi műveletekkel rendelkezik : Utolsóra(Lista): Lista {NemDef} Előzőre(Lista): Lista {NemDef} első?(lista): Logikai Ábrázolása: Típus TListaElem=Rekord(érték: Telem, köv,el:mutató(tlistaelem)) Változó fej,vég,akt: Mutató(TListaElem) hiba: Logikai Szlávi Péter, Zsakó László: Adatszerkezetek I :20 40/46

41 Kétirányú lista Eljárás BeszúrMögé(L,e): Ha L.fej=sehova akkor BeszúrElejére(L,e) különben Lefoglal(új,(e,tartalom(L.akt).köv,L.akt) tartalom(l.akt).köv:=új tartalom(tartalom(l.akt).köv).el:=uj L.akt:=új Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 41/46

42 Kétirányú lista Eljárás BeszúrElejére(L,e): régi:=l.fej; Lefoglal(L.fej,(e,régi,sehova)) tartalom(régi).el:=l.fej L.akt:=L.fej Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 42/46

43 Kétirányú lista Eljárás Kihagy(L): Ha L.akt=sehova akkor L.hiba:=igaz különben ha L.akt=L.fej akkor L.fej:=tartalom(L.akt).köv Felszabadít(L.akt); L.akt:=L.fej tartalom(l.akt).el:=sehova... Szlávi Péter, Zsakó László: Adatszerkezetek I :19 43/46

44 Kétirányú lista... különben el:=tartalom(l.akt).el köv:=tartalom(l.akt).köv Felszabadít(L.akt) tartalom(el).köv:=köv Ha köv sehova akkor tartalom(köv).el:=el L.akt:=köv különben L.akt:=el Elágazás vége Eljárás vége. Szlávi Péter, Zsakó László: Adatszerkezetek I :19 44/46

45 Ciklikus lista, gyűrű A ciklikus lista: Olyan egy- vagy kétirányú lista, amelynek az utolsó elemét az első követi, az elsőt pedig az utolsó előzi meg. Így kevesebb műveletre van szükség a megvalósításához. A gyűrű: Olyan ciklikus lista, amelynek nincs kitüntetett első, illetve utolsó eleme. Ábrázolása: Változó akt: Mutató(TListaElem) hiba: Logikai Szlávi Péter, Zsakó László: Adatszerkezetek I :20 45/46

46 Algoritmusok és adatszerkezetek I. 4. előadás vége

Algoritmusok és adatszerkezetek I. 2. előadás

Algoritmusok és adatszerkezetek I. 2. előadás Algoritmusok és adatszerkezetek I. 2. előadás Verem Verem= speciális sorozattípus Műveletei: Üres, üres?, Verembe, Veremből, tető Üres: Verem üres?(verem): Logikai tető(verem): Elem {NemDef} Verembe(Verem,Elem):

Részletesebben

Algoritmusok és adatszerkezetek I. 1. előadás

Algoritmusok és adatszerkezetek I. 1. előadás Algoritmusok és adatszerkezetek I 1 előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: elemi (vagy skalár, vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 3. előadás Algoritmizálás és adatmodellezés tanítása 3. előadás Szövegfájl Fájl típus A szövegfájl karakterek sorozata: input fájl Műveletei: nyit, zár, olvas, vége? output fájl Műveletei: nyit, zár, ír Pap Gáborné,

Részletesebben

Algoritmusok és adatszerkezetek I. 2. előadás

Algoritmusok és adatszerkezetek I. 2. előadás Algoritmusok és adatszerkezetek I. 2. előadás Verem Verem= speciális sorozattípus Műveletei: Üres, üres?, Verembe, Veremből, tető Üres: Verem üres?(verem): Logikai tető(verem): Elem {NemDef} Verembe(Verem,Elem):

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

Algoritmizálás és adatmodellezés 2. előadás

Algoritmizálás és adatmodellezés 2. előadás Algoritmizálás és adatmodellezés 2 előadás Összetett típusok 1 Rekord 2 Halmaz (+multialmaz, intervallumalmaz) 3 Tömb (vektor, mátrix) 4 Szekvenciális fájl (input, output) Pap Gáborné, Zsakó László: Algoritmizálás,

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

Algoritmizálás, adatmodellezés 1. előadás

Algoritmizálás, adatmodellezés 1. előadás Algoritmizálás, adatmodellezés 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

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

Algoritmizálás és adatmodellezés tanítása 2. előadás Algoritmizálás és adatmodellezés tanítása 2. előadás Tartalom Összegzés vektorra, mátrixra Megszámolás vektorra, mátrixra Maximum-kiválasztás vektorra, mátrixra Eldöntés vektorra, mátrixra Kiválasztás

Részletesebben

Programozás II. előadás

Programozás II. előadás Nem összehasonlító rendezések Nem összehasonlító rendezések Programozás II. előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Programozás II. 2 Rendezés

Részletesebben

Lista típuskonstrukció

Lista típuskonstrukció Lista típuskonstrukció Szlávi PéterP ELTE Informatika Szakmódszertani Csoport szlavi@ludens.elte.hu http://izzo.inf.elte.hu/~szlavi Copyright, 1999 Szlávi Péter Tartalomjegyzék 1 A lista algebrai specifikációja

Részletesebben

Algoritmusok és adatszerkezetek I. 3. előadás

Algoritmusok és adatszerkezetek I. 3. előadás Algoritmusok és adatszerkezetek I. 3. előadás Kupac A kupac olyan véges elemsokaság, amely rendelkezik az alábbi tulajdonságokkal: 1. Minden elemnek legfeljebb két rákövetkezője (leszármazottja) lehet.

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

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

Algoritmizálás, adatmodellezés tanítása 2. előadás Algoritmizálás, adatmodellezés tanítása 2. előadás Másolás függvényszámítás Bemenet: N N, X H N, g:h G, F: G N G, f: G * xg G Kimenet: Y G N Előfeltétel: Utófeltétel: i(1 i N) Y=F(g(X 1 ),, g(x N )) f

Részletesebben

Adatszerkezetek I. 4. előadás

Adatszerkezetek I. 4. előadás Adatszerkezetek I. 4. előadás Kupac A kupac olyan véges elemsokaság, amely rendelkezik az alábbi tulajdonságokkal: 1. Minden elemnek legfeljebb két rákövetkezője (leszármazottja) lehet. Azaz bináris fának

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

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

Adatszerkezetek II. 1. előadás

Adatszerkezetek II. 1. előadás Adatszerkezetek II. 1. előadás Gráfok A gráf fogalma: Gráf(P,E): P pontok (csúcsok) és E P P élek halmaza Fogalmak: Irányított gráf : (p 1,p 2 ) E-ből nem következik, hogy (p 2,p 1 ) E Irányítatlan gráf

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

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió és iteráció Balrekurzió Ha az eljárás első utasításaként szerepel a rekurzív hívás, akkor a rekurzió lényegében az első nem

Ré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 tanítása 1. előadás Specifikáció A specifikáció elemei bemenet mit ismerünk? kimenet mire vagyunk kíváncsiak? előfeltétel mit tudunk az ismertekről? utófeltétel mi az összefüggés

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

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

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

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

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév

Részletesebben

Az összetett programozási tételek is egy tőről fakadnak

Az összetett programozási tételek is egy tőről fakadnak Az összetett programozási tételek is egy tőről fakadnak Zsakó László 1, Törley Gábor 2, Szlávi Péter 3 1 zsako@caesar.elte.hu, 2 pezsgo@inf.elte.hu, 3 szlavi@elte.hu ELTE IK Absztrakt. A programozás tanulás

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

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

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

Adatszerkezetek I. 9. előadás

Adatszerkezetek I. 9. előadás Adatszerkezetek I. 9. előadás Nem bináris fák A fa rekurzív adatszerkezet jellemzői: sokaság: azonos típusú elemekből áll; akár 0 db elemet tartalmazhat; Üres: rekurzív nullelem, kitüntetett konstans;

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 6. előadás Algoritmizálás és adatmodellezés tanítása 6. előadás Összetett típusok 1. Rekord 2. Halmaz (+multihalmaz, intervallumhalmaz) 3. Tömb (vektor, mátrix) 4. Szekvenciális file (input, output) Pap Gáborné,

Részletesebben

Algoritmizálás, adatmodellezés 1. előadás

Algoritmizálás, adatmodellezés 1. előadás Algoritmizálás, adatmodellezés 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből

Részletesebben

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

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával) Adatszerkezetek I. 8. előadás (Horváth Gyula anyagai felhasználásával) Kereső- és rendezőfák Közös tulajdonságok: A gyökérelem (vagy kulcsértéke) nagyobb vagy egyenlő minden tőle balra levő elemnél. A

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

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

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

Algoritmizálás, adatmodellezés tanítása 6. előadás Algoritmizálás, adatmodellezés tanítása 6. előadás Tesztelési módszerek statikus tesztelés kódellenőrzés szintaktikus ellenőrzés szemantikus ellenőrzés dinamikus tesztelés fekete doboz módszerek fehér

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

Buborékrendezés: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábrázolás: For ciklussal:

Buborékrendezés: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábrázolás: For ciklussal: Buborékrendezés: For ciklussal: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábr.: ha p egy mutató típusú változó akkor p^ az általa mutatott adatelem, p^.adat;p^.mut. A semmibe mutató ponter a NIL.Szabad

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

A lista adatszerkezet A lista elemek egymásutániságát jelenti. Fajtái: statikus, dinamikus lista.

A lista adatszerkezet A lista elemek egymásutániságát jelenti. Fajtái: statikus, dinamikus lista. Lista adatszerkezet A lista adatszerkezet jellemzői 1 Különböző problémák számítógépes megoldása során gyakran van szükség olyan adatszerkezetre, amely nagyszámú, azonos típusú elem tárolására alkalmas,

Részletesebben

Adatszerkezetek 1. Dr. Iványi Péter

Adatszerkezetek 1. Dr. Iványi Péter Adatszerkezetek 1. 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 kódoltan tároljuk

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

Fák 3. előadás. (Horváth Gyula anyagai felhasználásával)

Fák 3. előadás. (Horváth Gyula anyagai felhasználásával) Fák 3. előadás (Horváth Gyula anyagai felhasználásával) Fák Bináris fa "fordított" ábrázolása, a levelektől vissza: Ha a bináris fa elemei címezhetőek is (pl. sorszámuk van), akkor elképzelhető egy olyan

Részletesebben

Adatszerkezetek I. 1. előadás

Adatszerkezetek I. 1. előadás Adatszerkezetek I. 1. előadás Adatok jellemzői ismétlés 1. Azonosító Az a jelsorozat, amellyel hivatkozhatunk a tartalmára, amely által módosíthatjuk tartalmát. 2. Hozzáférési jog Adatokat módosítani,

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

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

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

Halmaz típus Értékhalmaz:

Halmaz típus Értékhalmaz: Halmaz, multihalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}

Részletesebben

Algoritmusok és adatszerkezetek I. 5. előadás

Algoritmusok és adatszerkezetek I. 5. előadás Algoritmusok és adatszerkezetek I. 5. előadás Táblázat A táblázat olyan halmazféleség, amelyben az elemeket kulcsértékkel azonosítjuk. A szokásos halmazműveletekből azonban csak néhányat definiálunk rá:

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

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2010. január 8. Bevezet El z órák anyagainak áttekintése Ismétlés Adatszerkezetek osztályozása Sor, Verem, Lengyelforma Statikus, tömbös reprezentáció Dinamikus, láncolt reprezentáció Láncolt lista Lassú

Részletesebben

Programozási alapismeretek 3. előadás

Programozási alapismeretek 3. előadás Programozási alapismeretek 3. előadás Tartalom Ciklusok specifikáció+ algoritmika +kódolás Egy bevezető példa a tömbhöz A tömb Elágazás helyett tömb Konstans tömbök 2/42 Ciklusok Feladat: Határozzuk meg

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

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

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

OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1

OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1 OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Különféle élőlények egy túlélési versenyen vesznek részt. A lények egy pályán haladnak végig, ahol váltakozó terep viszonyok vannak.

Részletesebben

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35 Grafika I. Kép mátrix Feladat: Egy N*M-es raszterképet nagyítsunk a két-szeresére pontsokszorozással: minden régi pont helyébe 2*2 azonos színű pontot rajzolunk a nagyított képen. Pap Gáborné-Zsakó László:

Részletesebben

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

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28

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

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

Minta felvételi feladatsor programozásból

Minta felvételi feladatsor programozásból . feladat: Rendezés (2 pont) A Comenius Logo egyik játékprogramjában békákat kell sorba rakni úgy, hogy lépésenként kijelölhetjük, hogy melyik béka ugorjon. gorni vagy csak szomszédos zsombékra lehet,

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

Multihalmaz, intervallumhalmaz

Multihalmaz, intervallumhalmaz Multihalmaz, intervallumhalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

Rekurzió. Dr. Iványi Péter

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

Részletesebben

A félév során előkerülő témakörök

A félév során előkerülő témakörök A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok

Részletesebben

6. LISTÁK ábra. A lista absztrakt adatszerkezet (ADS)

6. LISTÁK ábra. A lista absztrakt adatszerkezet (ADS) 6. LISTÁK Az előző fejezetekben megismerkedtünk a láncolt ábrázolással. Láttuk a verem és a sor, valamint előre tekintve a keresőfa pointeres megvalósításának a lehetőségét és előnyeit. A láncolt ábrázolással

Részletesebben

Programozási alapismeretek 1. előadás

Programozási alapismeretek 1. előadás Programozási alapismeretek 1. előadás Tartalom A problémamegoldás lépései programkészítés folyamata A specifikáció Az algoritmus Algoritmikus nyelvek struktogram A kódolás a fejlesztői környezet 2/33 A

Részletesebben

Adatszerkezetek I. 6. előadás

Adatszerkezetek I. 6. előadás Adatszerkezetek I. 6. előadás Táblázat A táblázat olyan halmazféleség, amelyben az elemeket kulcsértékkel azonosítjuk. A szokásos halmazműveletekből azonban csak néhányat definiálunk rá: Üres: Táblázat

Részletesebben

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

Hatékonyság 2. előadás Hatékonyság 2. előadás Alapelv: a tárolt elemek száma vagy egy elemének mérete kevesebb legyen! Helyfoglalás=memória (kód+adat) + háttértár (kód+adat) 2.1 Sorozatok hosszcsökkentése 2.1.1 Sorozat kiküszöbölése

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

2018, Diszkrét matematika

2018, Diszkrét matematika Diszkrét matematika 3. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? számtartományok: természetes

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

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

Komputeralgebrai Algoritmusok

Komputeralgebrai Algoritmusok Komputeralgebrai Algoritmusok Adatábrázolás Czirbusz Sándor, Komputeralgebra Tanszék 2015-2016 Ősz Többszörös pontosságú egészek Helyiértékes tárolás: l 1 s d i B i i=0 ahol B a számrendszer alapszáma,

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

Visszalépéses kiválogatás

Visszalépéses kiválogatás elépő a tudás közösségébe Informatika szakköri segédanyag Heizlerné akonyi iktória, Horváth Győző, Menyhárt László, Szlávi Péter, Törley Gábor, Zsakó László Szerkesztő: Abonyi-Tóth Andor, Zsakó László

Részletesebben

Adatszerkezetek II. 10. előadás

Adatszerkezetek II. 10. előadás Adatszerkezetek II. 10. előadás Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával, kiválasztásával, sorrendbe rakásával foglalkozik

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

Táblázatok fontosabb műveletei 1

Táblázatok fontosabb műveletei 1 Táblázatok fontosabb műveletei 1 - - Soros táblázat procedure BESZÚR1(TÁBLA, újelem) - - beszúrás soros táblázatba - - a táblázatot egy rekordokat tartalmazó dinamikus vektorral reprezentáljuk - - a rekordok

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

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória Oktatási Hivatal A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a

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

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

7 7, ,22 13,22 13, ,28

7 7, ,22 13,22 13, ,28 Általános keresőfák 7 7,13 13 13 7 20 7 20,22 13,22 13,22 7 20 25 7 20 25,28 Általános keresőfa Az általános keresőfa olyan absztrakt adatszerkezet, amely fa és minden cellájában nem csak egy (adat), hanem

Részletesebben

Rekurzió. Működése, programtranszformációk. Programozás II. előadás. Szénási Sándor.

Rekurzió. Működése, programtranszformációk. Programozás II. előadás.   Szénási Sándor. Rekurzió Működése, programtranszformáció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 Rekurzió Rekurzió alapjai Rekurzív

Részletesebben

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG Gyakorlatvezető

Részletesebben

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek Bevezetés progrmozásb 3. Elődás Algortmusok, tételek ISMÉTLÉS Specfkácó Előfeltétel: mlyen körülmények között követelünk helyes működést Utófeltétel: mt várunk kmenettől, m z összefüggés kmenet és bemenet

Részletesebben

Dinamikus programozás II.

Dinamikus programozás II. Dinamikus programozás II. Dinamikus programozás stratégiája A dinamikus programozás stratégiája 1. Az [optimális] megoldás szerkezetének tanulmányozása. 2. Részproblémákra és összetevőkre bontás úgy, hogy:

Részletesebben

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG 1 A fenti

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

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

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

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