Algoritmusok és adatszerkezetek I. 2. előadás
|
|
- Botond Szilágyi
- 5 évvel ezelőtt
- Látták:
Átírás
1 Algoritmusok és adatszerkezetek I. 2. előadás
2 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): Verem {NemDef} Veremből(Verem,Elem): (Verem Elem) {NemDef} 2/40
3 Verem A műveletek specifikációja Üres(V): ef:, uf: V=() üres?(v): ef:, uf: üres?=v=() Verembe(V,e): ef: V=W, uf: V=(W,e) Veremből(V,e): ef: V=(W,f), uf: V=W és e=f Megjegyzés: ef nem üres?(v) tető(v): ef: V=(W,f), uf: tető=f Megjegyzés: ef nem üres?(v) 3/40
4 Verem Megvalósítás folytonos, szekvenciális ábrázolással Verem(Típus TElem): Konstans MaxMélység: Egész(???) Típus VeremElem=TElem Változó t: Tömb(1..MaxMélység: VeremElem) teteje: 0..MaxMélység Probléma: MaxMélység=???? 4/40
5 Verem Eljárás Üres(V): V.teteje:=0 Függvény üres?(v): üres?:=v.teteje=0 Függvény vége. Függvény tető(v): tető:=v.t(v.teteje) Függvény vége. 5/40
6 Verem Eljárás Verembe(V,e): V.teteje:=V.teteje+1 V.t(V.teteje):=e Eljárás Veremből(V,e): e:=v.t(v.teteje) V.teteje:=V.teteje-1 Meggondolandó: hibakezelés hol és mikor kell? 6/40
7 Verem Megvalósítás dinamikus láncolással Verem(Típus TElem): Típus VeremElem=Rekord(érték: TElem alatta: VeremElem'Mutató) Változó teteje: VeremElem'Mutató Magyarázat: a láncolásnak nincs szerepe a hatékonyság szempontjából (nincs beszúrás vagy törlés középen), csak a memória lefoglalási lehetőséget használjuk ki. 7/40
8 Verem Eljárás Üres(V): V.teteje:=Sehova Függvény üres?(v): üres?:=v.teteje=sehova Függvény vége. Függvény tető(v): tető:=tartalom(v.teteje).érték Függvény vége. Emlékeztető: Eljárás Üres(V): V.teteje:=0 Függvény üres?(v): üres?:=v.teteje=0 Függvény vége. Függvény tető(v): tető:=v.t(v.teteje).érték Függvény vége. 8/40
9 Verem Eljárás Verembe(V,e): Lefoglal(w,(e,V.teteje)) V.teteje:=w Eljárás Veremből(V,e): Eljárás Verembe(V,e): V.teteje:=V.teteje+1 V.t(V.teteje):=e Eljárás Veremből(V,e): e:=v.t(v.teteje) V.teteje:=V.teteje-1 e:=tartalom(v.teteje).érték; w:=v.teteje V.teteje:=tartalom(V.teteje).alatta Felszabadít(w) A lefoglalás másképpen: Lefoglal(w) tartalom(w).érték:=e tartalom(w).alatta:=v.teteje 9/40
10 Verem Megvalósítás dinamikus láncolással (hibakezeléssel) Verem(Típus TElem): Típus VeremElem=Rekord(érték: TElem alatta: VeremElem'Mutató) Változó teteje: VeremElem'Mutató hiba: Logikai 10/40
11 Verem Eljárás Üres(V): V.teteje:=Sehova; V.hiba:=hamis Itt kihasználjuk, hogy a lefoglalás sikertelensége esetén telik be a verem, amit a lefoglalás művelete állít be. Eljárás Verembe(V,e): Lefoglal(w,(e,V.teteje),V.hiba) V.teteje:=w 11/40
12 Verem Függvény tető(v): Ha v.teteje=sehova akkor V.hiba:=igaz különben tető:=tartalom(v.teteje).érték Függvény vége. Eljárás Veremből(V,e): Ha v.teteje=sehova akkor V.hiba:=igaz különben e:=tartalom(v.teteje).érték w:=v.teteje V.teteje:=tartalom(V.teteje).alatta Felszabadít(w) 12/40
13 Verem Speciális verem műveletek a FORTH nyelvből swap(v): a két felső elem cseréje ef: V=(W,e,f), uf: V=(W,f,e) dup(v): a felső elem duplikálása ef: V=(W,e), uf: V=(W,e,e) over(v): a felső alatti elem duplikálása a verem tetején ef: V=(W,e,f), uf: V=(W,e,f,e) rot(v): a felső három elem ciklikus léptetése ef: V=(W,e,f,g), uf: V=(W,f,g,e) 13/40
14 Verem Eljárás swap(v): e:=tartalom(v.teteje).érték w:=tartalom(v.teteje).alatta tartalom(v.teteje).érték:=tartalom(w).érték tartalom(w).érték:=e 14/40
15 Verem Eljárás dup(v): e:=tartalom(v.teteje).érték Lefoglal(w,(e,V.teteje)) V.teteje:=w 15/40
16 Verem Eljárás over(v): w:=tartalom(v.teteje).alatta e:=tartalom(w).érték Lefoglal(w,(e,V.teteje)) V.teteje:=w 16/40
17 Verem Eljárás rot(v): w:=tartalom(v.teteje).alatta x:=tartalom(w).alatta e:=tartalom(x).érték tartalom(x).érték:=tartalom(w).érték tartalom(w).érték:=tartalom(v.teteje).érték tartalom(v.teteje).érték:=e 17/40
18 Verem alkalmazás Egy kifejezés (,) és [,] zárójelpárokat tartalmaz. Ellenőrizzük a helyességét! Hibás esetek: x([y)] hibás párosítás x(a - nyitó zárójelnek nincs csukó párja x)a( - csukó zárójelnek nincs nyitó párja 18/40
19 Verem alkalmazás Függvény helyes(k): i:=1; h:=igaz; V:=üres Ciklus amíg i hossz(k) és h Ha K(i)= ( vagy K(i)= [ akkor Verembe(V,K(i)) különben ha K(i)= ) vagy K(i)= ] akkor Veremből(V,s) h:= K(i)= ) és s= ( vagy K(i)= ] és s= [ i:=i+1 Ciklus vége helyes:=h és nem V.hiba és üres?(v) 19/40
20 Sor Sor= speciális sorozattípus Műveletei: Üres, üres?, Sorba, Sorból, első Üres: Sor üres?(sor): Logikai első(sor): Elem {NemDef} Sorba(Sor,Elem): Sor {NemDef} Sorból(Sor,Elem): (Sor Elem) {NemDef} 20/40
21 Sor A műveletek specifikációja Üres(S): ef:, uf: S=() üres?(s): ef:, uf: üres?=s=() Sorba(S,e): ef: S=W, uf: S=(W,e) Sorból(S,e): ef: S=(f,W), uf: S=W és e=f Megjegyzés: ef nem üres?(s) első(s): ef: S=(f,W), uf: első=f Megjegyzés: ef nem üres?(s) 21/40
22 Sor Megvalósítás folytonos, szekvenciális ábrázolással Sor(Típus TElem): Konstans MaxHossz: Egész(???) Típus SorElem=TElem Változó t: Tömb(1..MaxHossz: SorElem) első,utolsó,db: 0..MaxHossz A tömböt ciklikusan kezeljük: ha a végére értünk és az elején már szabadult fel hely, ott folytatjuk a kitöltést. Probléma: MaxHossz=???? 22/40
23 Sor Eljárás Üres(S): S.első:=1; S.utolsó:=0; S.db:=0 Függvény üres?(s): Üres?:=S.db=0 Függvény vége. Függvény első(s): első:=s.t(s.első) Függvény vége. 23/40
24 Sor Eljárás Sorba(S,e): Ha S.utolsó=Maxhossz akkor S.utolsó:=1 különben S.utolsó:=S.utolsó+1 S.db:=S.db+1; S.t(S.utolsó):=e Eljárás Sorból(S,e): e:=s.t(s.első); S.db:=S.db-1 Ha S.első=Maxhossz akkor S.első:=1 különben S.első:=S.első+1 S.utolsó S.első 24/40
25 Sor Megvalósítás dinamikus láncolással Sor(Típus TElem): Típus SorElem=Rekord(érték: TElem köv: SorElem'Mutató) Változó eleje,vége: SorElem'Mutató Megjegyzés: Itt sem használunk középre beszúrást, középről törlést, azaz a láncolást csak a tömbméret korlát elhagyása miatt használjuk. 25/40
26 Sor Eljárás Üres(S): S.eleje:=sehova; S.vége:=sehova Függvény üres?(s): Üres?:=S.eleje=sehova Függvény vége. Függvény első(s): első:=tartalom(eleje).érték Függvény vége. Emlékeztető: Eljárás Üres(S): S.első:=1; S.utolsó:=0 S.db:=0 Függvény üres?(s): Üres?:=S.db=0 Függvény vége. Függvény első(s): első:=s.t(s.első) Függvény vége. 26/40
27 Sor Eljárás Sorba(S,e): Lefoglal(újvége,(e,sehova)) Ha S.vége=sehova akkor S.eleje:=újvége különben tartalom(s.vége).köv:=újvége S.vége:=újvége 27/40
28 Sor Eljárás Sorból(S,e): e:=tartalom(s.eleje).érték újeleje:=tartalom(s.eleje).köv Felszabadít(S.eleje) S.eleje:=újeleje Ha S.eleje=sehova akkor S.vége:=sehova 28/40
29 Sor Megvalósítás dinamikus láncolással (hibakezeléssel) Sor(Típus TElem): Típus SorElem=Rekord(érték: TElem köv: SorElem'Mutató) Változó eleje,vége: SorElem'Mutató hiba: Logikai 29/40
30 Sor Eljárás Üres(S): S.eleje:=sehova; S.vége:=sehova; S.hiba:=hamis Függvény első(s): Ha S.eleje=sehova akkor S.hiba:=igaz különben első:=tartalom(s.eleje).érték Függvény vége. 30/40
31 Sor Eljárás Sorba(S,e): Lefoglal(új,(e,sehova),S.hiba) Ha S.vége=sehova akkor S.eleje:=új különben tartalom(s.vége).köv:=új S.vége:=új 31/40
32 Sor Eljárás Sorból(S,e): Ha S.eleje=sehova akkor S.hiba:=igaz különben e:=tartalom(s.eleje).érték újeleje:=tartalom(s.eleje).köv Felszabadít(S.eleje) S.eleje:=újeleje Ha S.eleje=sehova akkor S.vége:=sehova 32/40
33 Sor alkalmazás Példa: Egy vasútvonal két állomásán egy nap feljegyeztük, az összes egyik irányba áthaladó vonat indulási, illetve érkezési idejét (idő szerinti sorrendben). Adjuk meg az áthaladt vonatok menetidőit a két állomás között! (Nincs előzés.) Ötlet: A korábban érkező adatot egy sorban várakoztatjuk addig, amíg a párja meg nem érkezik. 33/40
34 Sor alkalmazás Forgalom: Nyit(f); Nyit(g); Üres(S) Ciklus amíg nem vége?(f) Olvas(f,adat) Ha adat.állomás=1 akkor Sorba(S,adat.idő) különben Sorból(S,előző) Ír(g,adat.idő-előző) Ciklus vége Zár(f); Zár(g) 34/40
35 Sor alkalmazás Példa: Egy egyirányú utcában két jelzőlámpánál figyelik az áthaladó autókat: mikor haladt át a lámpánál. Az adatok megfigyelési idő szerinti sorrendben érkeznek. N db autót figyeltek meg. Csoportosítsuk az adatokat, hogy az első lámpánál történt megfigyelések időbeli sorrendjüket megtartva előzzék meg a második lámpánál megfigyelt adatokat! (Az utcában előzés nincs.) Ötlet: Az 1-es lámpa adatai azonnal írhatók az eredménybe, a 2-es lámpa adatait egy átmeneti sorban tároljuk, s a végén írjuk az eredménybe. A sor ha a mérete indokolja persze lehet háttértáron is. 35/40
36 Sor alkalmazás Ötlet: Az 1-es lámpa adatai azonnal írhatók az eredménybe, a 2- es lámpa adatait egy átmeneti sorban tároljuk, s a végén írjuk az eredménybe. A sor ha a mérete indokolja persze lehet háttértáron is. A bemenet és a kimenet is forgalom típusú adatok fájlja, és a sorban is ilyeneket tárolunk: Forgalom=Rekord(lámpa: {1,2}, idő: Egész) Változó S: Sor(Forgalom) 36/40
37 Sor alkalmazás Forgalom: Nyit(f); Nyit(g); Üres(S) Ciklus amíg nem vége?(f) Olvas(f,adat) Ha adat.lámpa=1 akkor Ír(g,adat) különben Sorba(S,adat) Ciklus vége Ciklus amíg nem üres?(s) Sorból(S,adat); Ír(g,adat) Ciklus vége Zár(f); Zár(g) 37/40
38 Kétvégű sor Kétvégű sor= speciális sorozattípus Műveletei: Üres, üres?, Sorelejére, Sorvégére, első, Sorelejéről, Sorvégéről Üres: Sor Sorelejére(Sor,Elem): Sor {NemDef} Sorvégére(Sor,Elem): Sor {NemDef} Sorelejéről(Sor,Elem): (Sor Elem) {NemDef} Sorvégéről(Sor,Elem): (Sor Elem) {NemDef} üres?(sor): Logikai első(sor): Elem {NemDef} 38/40
39 Kétvégű sor A műveletek specifikációja Üres(S): ef:, uf: S=() üres?(s): ef:, uf: üres?=s=() Sorelejére(S,e): ef: S=W, uf: S=(e,W) Sorvégére(S,e): ef: S=W, uf: S=(W,e) Sorelejéről(S,e): ef: S=(f,W), uf: S=W és e=f Sorvégéről(S,e): ef: S=(W,f), uf: S=W és e=f első(s): ef: S=(f,W), uf: első=f 39/40
40 Algoritmusok és adatszerkezetek I. 2. előadás vége
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észletesebbenAlgoritmusok és adatszerkezetek I. 4. előadás
Algoritmusok és adatszerkezetek I. 4. előadás A lista olyan sorozat, amelyben műveleteket egy kiválasztott, az ún. aktuális elemmel lehet végezni. A lista rendelkezik az alábbi műveletekkel: Üres: Lista
RészletesebbenAlgoritmizálás és adatmodellezés 2. előadás
Algoritmizálás és adatmodellezés 2 előadás Összetett típusok 1 Rekord 2 Halmaz (+multialmaz, intervallumalmaz) 3 Tömb (vektor, mátrix) 4 Szekvenciális fájl (input, output) Pap Gáborné, Zsakó László: Algoritmizálás,
RészletesebbenAlgoritmusok é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észletesebbenAdatszerkezetek 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észletesebbenAdatszerkezetek 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észletesebbenAlgoritmusok é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észletesebbenADATSZERKEZETEK (VEREM, SOR)
ADATSZERKEZETEK (VEREM, SOR) 1. ADATSZERKEZET FOGALMA Az adatszerkezet egymással kapcsolatban álló adatok összessége, amelyen meghatározott, az adatszerkezetre jellemző műveletek végezhetők el. Az adatok
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 3. előadás
Algoritmizálás és adatmodellezés tanítása 3. előadás Szövegfájl Fájl típus A szövegfájl karakterek sorozata: input fájl Műveletei: nyit, zár, olvas, vége? output fájl Műveletei: nyit, zár, ír Pap Gáborné,
RészletesebbenAritmetikai kifejezések lengyelformára hozása
Aritmetikai kifejezések lengyelformára hozása Készítették: Santák Csaba és Kovács Péter, 2005 ELTE IK programtervező matematikus szak Aritmetikai kifejezések kiértékelése - Gyakran felmerülő programozási
RészletesebbenAdatszerkezetek 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é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észletesebbenAdatszerkezetek 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észletesebbenHaté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észletesebbenAdatszerkezetek 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észletesebbenAlgoritmizálás, adatmodellezés 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből
RészletesebbenAdatszerkezetek 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észletesebbenAdatszerkezetek II. 2. előadás
Adatszerkezetek II. 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra
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é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észletesebbenSzövegfeldolgozás II.
Szövegfeldolgozás II. Szövegfeldolgozási alapfeladatok Tömörítés: egy szöveget vagy szövegfájlt alakítsunk át úgy, hogy kevesebb helyet foglaljon (valamint alakítsuk vissza)! Keresés: egy szövegben vagy
RészletesebbenA félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
RészletesebbenHORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
RészletesebbenAbsztrakt adatstruktúrák A bináris fák
ciós lámpa a legnagyobb élettartamú és a legjobb hatásfokú fényforrásnak tekinthető, nyugodtan mondhatjuk, hogy a jövő fényforrása. Ezt bizonyítja az a tény, hogy ezen a területen a kutatások és a bejelentett
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észletesebbenFá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észletesebbenVerem Verem mutató 01
A számítástechnikában a verem (stack) egy speciális adatszerkezet, amiben csak kétféle művelet van. A berak (push) egy elemet a verembe rak, a kivesz (pop) egy elemet elvesz a verem tetejéről. Mindig az
RészletesebbenA verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása
A verem (stack) A verem egy olyan struktúra, aminek a tetejére betehetünk egy új (vagy sorban több) elemet a tetejéről kivehetünk egy (vagy sorban több) elemet A verem felhasználása Függvény visszatérési
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 9. előadás
Algoritmizálás és adatmodellezés tanítása 9. előadás Szöveges típusok (ismétlés) karakter típus szöveg típus szövegfájl típus (input, illetve output szövegfájl) 2018. 01. 2/30 Karakterábrázolás fix kódhossz
RészletesebbenAlgoritmizá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észletesebbenAlgoritmusok é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észletesebbenAdatszerkezetek 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észletesebbenInformációk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása
1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június
RészletesebbenAdatszerkezetek 2. Dr. Iványi Péter
Adatszerkezetek 2. 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 tömb általánosításaként
RészletesebbenProgramozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 2. előadás
Algoritmizálás és adatmodellezés tanítása 2. előadás Tartalom Összegzés vektorra, mátrixra Megszámolás vektorra, mátrixra Maximum-kiválasztás vektorra, mátrixra Eldöntés vektorra, mátrixra Kiválasztás
RészletesebbenAdatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
RészletesebbenEgyszerű programozási tételek
Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.
RészletesebbenGráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17
Gráfok 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra bejárása nem
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észletesebbenAdatszerkezetek és algoritmusok
2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók
RészletesebbenRekurzió. 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észletesebben15. 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é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 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észletesebbenGyakorló feladatok: Formális modellek, temporális logikák, modellellenőrzés. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Gyakorló feladatok: Formális modellek, temporális logikák, modellellenőrzés Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Formális modellek használata és értelmezése Formális modellek
RészletesebbenKupac 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észletesebbenZárthelyi mintapéldák. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Zárthelyi mintapéldák Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Elméleti kérdések Indokolja meg, hogy az A (X Stop F Start) kifejezés szintaktikailag helyes kifejezés-e CTL illetve
RészletesebbenLá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észletesebbenPásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 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észletesebben5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E
5. SOR A sor adatszerkezet is ismerős a mindennapokból, például a várakozási sornak számos előfordulásával van dolgunk, akár emberekről akár tárgyakról (pl. munkadarabokról) legyen szó. A sor adattípus
RészletesebbenBevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
RészletesebbenProgramozá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é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 gyakorlat
Programozás I. - 2. gyakorlat Változók, kiiratás, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24, 2007 1 tar@dcs.vein.hu
RészletesebbenAlgoritmizá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észletesebbenA 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 217/218 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai 1. feladat: Csatornák (24 pont) INFORMATIKA II. (programozás) kategória Egy város csomópontjait csatornahálózat
RészletesebbenAdatszerkezetek 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észletesebbenWeb-programozó Web-programozó
Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,
RészletesebbenProgramozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs
Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán
Részletesebben... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)
6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban
Részletesebben4. VEREM. Üres: V Verembe: V E V Veremből: V V E Felső: V E
4. VEREM A mindennapokban is találkozunk verem alapú tároló struktúrákkal. Legismertebb példa a névadó, a mezőgazdaságban használt verem. Az informatikában legismertebb veremalkalmazások az eljáráshívások
Részletesebben1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
RészletesebbenBevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
RészletesebbenAlgoritmusok és adatszerkezetek 2.
Algoritmusok és adatszerkezetek 2. Varga Balázs gyakorlata alapján Készítette: Nagy Krisztián 1. gyakorlat Nyílt címzéses hash-elés A nyílt címzésű hash táblákban a láncolással ellentétben egy indexen
RészletesebbenAdatszerkezetek 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észletesebbenKiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése
Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Dr. Kallós Gábor 2014 2015 1 Az Ordó jelölés Azt mondjuk, hogy az f(n) függvény eleme az Ordó(g(n)) halmaznak, ha van olyan c konstans (c
RészletesebbenVéges állapotú gépek (FSM) tervezése
Véges állapotú gépek (FSM) tervezése F1. A 2. gyakorlaton foglalkoztunk a 3-mal vagy 5-tel osztható 4 bites számok felismerésével. Abban a feladatban a bemenet bitpárhuzamosan, azaz egy időben minden adatbit
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észletesebbenTá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észletesebbenB-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észletesebbenMit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,
RészletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
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észletesebbenPROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar
PROGRAMOZÁS tantárgy Gregorics Tibor egyetemi docens ELTE Informatikai Kar Követelmények A,C,E szakirány B szakirány Előfeltétel Prog. alapismeret Prog. alapismeret Diszkrét matematika I. Óraszám 2 ea
Részletesebben6. 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észletesebbenProgramozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
RészletesebbenA 2008/2009 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában
Oktatási Hivatal A 2008/2009 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása INFORMATIKÁBÓL II. (programozás) kategóriában Kérjük a tisztelt tanár kollégákat, hogy a
RészletesebbenFlex tutorial. Dévai Gergely
Flex tutorial Dévai Gergely A Flex (Fast Lexical Analyser) egy lexikáliselemz -generátor: reguláris kifejezések sorozatából egy C/C++ programot generál, ami szövegfájlokat képes lexikai elemek sorozatára
RészletesebbenProgramtervezés. Dr. Iványi Péter
Programtervezés Dr. Iványi Péter 1 A programozás lépései 2 Feladat meghatározás Feladat kiírás Mik az input adatok A megoldáshoz szükséges idő és költség Gyorsan, jót, olcsón 3 Feladat megfogalmazása Egyértelmű
RészletesebbenStruktú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észletesebbenMutatók és mutató-aritmetika C-ben március 19.
Mutatók és mutató-aritmetika C-ben 2018 március 19 Memória a Neumann-architektúrában Neumann-architektúra: a memória egységes a címzéshez a természetes számokat használjuk Ugyanabban a memóriában van:
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 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észletesebbenLá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észletesebbenAlgoritmizálás és adatmodellezés tanítása 6. előadás
Algoritmizálás és adatmodellezés tanítása 6. előadás Összetett típusok 1. Rekord 2. Halmaz (+multihalmaz, intervallumhalmaz) 3. Tömb (vektor, mátrix) 4. Szekvenciális file (input, output) Pap Gáborné,
RészletesebbenMatlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15
Matlab alapok Baran Ágnes Elágazások, függvények Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15 Logikai kifejezések =, ==, = (két mátrixra is alkalmazhatóak, ilyenkor elemenként történik
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észletesebbenBevezetés a programozásba. 5. Előadás: Tömbök
Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
RészletesebbenAdatszerkezetek é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észletesebbenSzekvenciális hálózatok és automaták
Szekvenciális hálózatok a kombinációs hálózatokból jöhetnek létre tárolási tulajdonságok hozzáadásával. A tárolás megvalósítása történhet a kapcsolás logikáját képező kombinációs hálózat kimeneteinek visszacsatolásával
RészletesebbenProgramozási nyelvek Python
Programozási nyelvek Python A nyelv története és jellemzői 2 A nyelv története Tervező Guido van Rossum (1956, Hollandia) Befolyásoló nyelvek ABC (pl. blokkok jelölése behúzással); Modula-3; C; C++; Unix
RészletesebbenSzerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód:
Szerző Név: Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: vp.05@hotmail.com Kurzuskód: IP-08PAEG/27 Gyakorlatvezető neve: Kőhegyi János Feladatsorszám: 20 1 Tartalom Szerző... 1 Felhasználói dokumentáció...
RészletesebbenAmortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
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észletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
RészletesebbenDokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben)
Dokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben) Felhasználói dokumentáció Feladat: Adjuk meg két N elemű vektor skalárszorzatát! Skalárszorzat : X, Y : N i 1 x i * y i Környezet: IBM
Részletesebben