Kulcs transzformációs táblázat

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Kulcs transzformációs táblázat"

Átírás

1 Kulcs transzformációs táblázat Ennek a táblázatnak az ábrázolása folytonos. Soros táblázat esetén egy elem helyét a beszúrás időpontja, önátrendező táblázatnál a feldolgozás gyakorisága, rendezett táblázatnál a kulcs értéke szabja meg. Kulcstranszformációs táblázat esetén egy elem helyét a k kulcs valamilyen f(k)-val jelölt függvénye alapján határozhatjuk meg. Ezt a függvényt hívjuk hasító vagy hash függvénynek. Az eljárást magát (elem kulcsához meghatározzuk az f(k) értéket) hashingnak vagy randomizálásnak vagy kulcstranszformációnak vagy hasításnak nevezzük. 1

2 Kulcstranszformációs módszerek A kulcstranszformációs módszerek azt mondják meg, hogy a hash-függvény milyen algoritmussal helyezi le a kulcsot a tartománybeli címre. Különböző módszerek a kulcsok egyes típusaira: Szöveges kulcsok: a hash-függvények veszik a kulcsot alkotó karakterlánc belső kódját, az így kapott numerikus értékeken pedig valamilyen transzformációt hajtanak végre. Numerikus kulcsok 2

3 Numerikus kulcsok Feltételezzük, hogy a kulcstranszformációs táblázat kulcsinak száma n. Ennél általában nagyságrendekkel (100x, 1000x, ) nagyobb az elméletben előfordulható kulcsok száma. Prímszámmal való osztás módszere: A HASH függvény minden új KULCS értéket eloszt azon p prímszámmal, amely a legnagyobb, az n-nél kisebb prímek között. Az elem helyét (sorszámot) a maradék fogja adni. Ebben az esetben 0 és p-1 közötti egész szám lesz. (Ha a tárhelyeket 1-től sorszámozzuk, ezt az értéket még 1-el megnöveljük) Ez a módszer elég jól véletlenszerűsít (egyenletesít) és egyszerű. 3

4 Numerikus kulcsok Szorzás módszere: Többféleképpen is megvalósítható. Az eredeti kulcsot minden esetben szoroznunk kell. Elképzelhető, hogy egy prímszámmal, vagy önmagával, vagy a kulcsot valamely két számjegye között félbevágjuk, és a két felét összeszorozzuk. A megkapott szorzatnak vesszük annyi számjegyét (k), ahány jegyű n, és az ebből képzett számot tekintjük az elem táblázatbeli sorszámának. Általában a szorzat középső k db számjegye szokott lenni a Hashfüggvény értéke. Ez a módszer is elég jól véletlenszerűsít. (Viszont nem annyira egyszerű.) 4

5 Numerikus kulcsok Helyiérték kiválasztásos módszer: A kapott numerikus kulcs számjegyei közül véletlenszerűen kiválasztunk k db helyiértéket, és minden kulcsból az ezen a helyiértékeken szereplő mennyiségeket kiválasztva kapjuk az elem sorszámát. Bázistranszformáció módszere: Ebben az esetben a kapott kulcsot úgy tekintjük, mint egy tizesnél magasabb alapú szám rendszerben felírt számot. Ezt a számot áttranszformáljuk (visszatranszformáljuk) tizes számrendszerbeli számmá, és az így kapott számnak k db számjegyéből képzett számot tekintjük az elem sorszámaként. 5

6 Kulcstranszformációs módszerek Ha sikerült Hash-függvényt választanunk, akkor a táblázat létrehozásakor, ill. bővítése idején felmerülhet a következő probléma: A Hash-függvény időnként több érkező elemhez, ugyanazt a tárcímet (sorszámot) rendeli hozzá. Ekkor szinonímák előfordulásáról, ill. túlcsordulásról beszélünk. Mit tegyünk ilyenkor? Három módszer van a szinonima kezelésre: 1. A nyílt címzés módszere 2. Láncolással történő nyílt címzés módszere 3. Független túlcsordulási lista alkalmazása 6

7 A nyílt címzés módszere A nem túlcsordult és a túlcsordult elemeket ugyanazon tárhely sorozatban kell elhelyezni. (Folytonos tárolás) Ha valahol túlcsordulást tapasztalunk, akkor az adott helyről elindulunk a tárhelyek vége felé, és keressük az első üres tárhelyet, ahová bepakoljuk a túlcsordult a elemet. Amennyiben elérjük a tár végét akkor az üres hely keresését az 1. tárhelytől kezdve folytatjuk tovább. 7

8 A nyílt címzés módszere Egy adatelemet kulcs alapján visszakeresni ezután a Hash-függvény segítségével úgy lehet, hogy ha az adott kulcsú elem nincs a Hash-függvény által adott címen (tárhelyen), akkor egy teljes keresést kell végrehajtani az 1. üres helyig, vagy amíg meg nem találjuk a keresett elemet. Ha a keresés közben elérjük a tartomány végét (utolsó tárhelyét), akkor a keresést a tárhely elején folytatjuk tovább. A keresést megállíthatja még az is, hogy anélkül érünk vissza a kiinduló helyzethez, hogy a keresett elemet megtaláltuk volna. 8

9 A nyílt címzés módszere A kulcstranszformációs táblázatnál nyílt címzés módszerével problémát jelenthet, hogy egy túlcsorduló rekord túlcsordulttá tehet egyébként nem túlcsorduló elemeket is. A probléma megoldása az lehet, ha az elemeket két lépesben helyezzük el a táblázatban. Első körben azokat, amelyek szabályosan a helyükre pakolhatók, majd ezek után a kimaradókat (ezek mindegyike túlcsordult lesz majd). 9

10 A nyílt címzés módszere Nyílt címzés esetén egy elem a tárhelyről fizikailag semmiképpen sem törölhető, ugyanis a helyén maradó üres tárhely megállítaná a keresést. Emiatt az ilyen kulcstranszformációs táblázatban egy tárhelynek három állapota lehet attól függően, hogy érvényes elemet, vagy (logikailag) törölt elemet tartalmaz, vagy egyszerűen üres. Új elem beszúrásakor az új elemet üres vagy legalább törölt helyre szúrjuk be. 10

11 Láncolással történő nyílt címzés módszere A nyílt címzéssel történő szinoníma kezelés hátránya: túlcsordult elemek esetén az elem elsődleges helyén (ahová a Hash-függvény leképezné) nincs semmi információ az elem tényleges helyére vonatkozóan. Ezt javítja egy másik szinonimakezelési technika, a láncolással történő nyílt címzés módszere. A tárhely eddigi két oszlopa (kulcs és adat) mellé fel kell venni egy harmadikat. A mutató oszlopban található értékek megadják az adott helyről, vele azonos kulccsal először túlcsorduló elem címét (sorszámát). Ezen értékek segítségével a szinonim elemeket egy-egy láncban fűzzük fel. Amennyiben a mutató mezőben található érték NIL vagy nulla értékű, akkor az adott tárhelyről (ugyanazon kulccsal) nem történt túlcsordulás. 11

12 Láncolással történő nyílt címzés módszere A szinonimák a láncon keresztül gyorsan elérhetők, viszont nő a tárfoglalási és a karbantartási idő. Nyílt címzés, illetve láncolással történő nyílt címzés módszere esetén az előfordulhat, hogy a túlcsordult elemek a túlcsordulás helyéhez viszonylag közel legyenek, az elemek tárolásához várhatóan szükséges tárhelynél kb. 10%-kal több tárhelyet szokás lefoglalni. Ez tovább növeli a módszerek tárhelyigényét. 12

13 Független túlcsordulási lista alkalmazása Ennél a módszernél az azonos helyről túlcsordult rekordokat külön listákban, és nem a folytonos tárban helyezzük el. Ezúttal a mutató oszlopban található értékek egy irányban láncolt listák fejmutatóiként funkcionálnak. (Amúgy hasonlít az előzőre.) Az így elkészített táblázatba a nem túlcsorduló elemek kerülnek, a szinonim elemek mindegyike pedig a Hashfüggvény által jelzett helyről kiinduló egy irányban láncolt listába kerülnek. 13

14 Kulcstranszformációs táblázatokon végzehető műveletek Asszociatív adatszerkezet, mert ilyen táblázatnál az asszociatív csoportosítást a szinonimák adják. Szinonimák létezése esetén ezek a csoportok nem 1 elemű részhalmazokat fognak alkotni. Létrehozás: Szinonimakezelési technika választása, Hash-függvény választás (szempontjai már voltak). A gyakorlatban előforduló kulcsok számára adni kell valamilyen becslést, majd tárhelyet kell foglalni a leendő elemek számára (1., 2.: +10% ; 3: annyi, amennyi), és végül az elemek elhelyezése a tárban. 14

15 Kulcstranszformációs táblázatokon végzehető műveletek Bővítés: Kulcsok alapján a Hash-függvény segétségével, és az előzőekben említettek függvényébe vételével történik. Törlés: Logikai törlés: Minden módszer esetén működik. Fizikai törlés: A harmadik módszernél a független túlcsrdulási listákban elhelyezett elemek esetében lehetséges. Csere: Kulcs alapján megoldható. Értékeit lehet cserélni bármikor. A kulcs cseréje törléssel és bővítéssel megoldható. 15

16 Kulcstranszformációs táblázatokon végzehető műveletek Rendezés: Nincs (nem értelmezett) Elérés: Kvázi közvetlen, hiszen a Hash-függvény a közvetlen elérést szolgálja. A szinonímákat keresni kell. Keresés: A szinonímakezelési módszertől függ. Feldolgozás: Alapja a Hash-függvény, illetve rajta keresztül a kvázi közvetlen elérés. A táblázat, mint adatszerkezet nagyon sok különböző jellegű problémánál előkerül. Sok operációs rendszer adatbázis kezelő rendszere kezeli a táblázatokat. Igazi jelentőségük az állományok kezelésénél van. 16

17 Lista adatszerkezet Szekvenciális adatszerkezetek Minden elem két másik elemmel van kapcsolatban, kivéve az első és az utolsó elemet. Lista, mint absztrakt adatszerkezet. Dinamikus adatszerkezet Van első és utolsó eleme - kivéve az üres listát. Minden elemnek van rákövetkezője - kivéve az utolsó elemet. És minden elemnek van megelőzője - kivéve az első elemet. Lista jelölése: Q=[x 1,x 2,,x n ] ahol az x-szel jelölt dolgok a lista elemei. 17

18 Lista adatszerkezet Az üres listának egy eleme sincs: [ ]. A lista első elemét szokás a lista fejének is nevezni. Azt a listát amelyik úgy keletkezik, hogy az eredeti listából elhagyjuk a fejet (első elemet), a lista farkának hívjuk. Fej: [x 1 ] Farok: [x 2,,x n ] Vége: [x n ] A lista mérete alatt az elemeinek a számát értjük. Méret jelölése: Q (=n). Ezek speciális lista fogalmak voltak. 18

19 Lista műveletei Műveletei: (alap lista műveletek). 1. Hozzáférés (elérés): Minden elem a többitől függetlenül, közvetlenül elérhető. Q[i]=x i. Az elemek elérése sorszámhivatkozással történik. Ha nem létező sorszámra hivatkozunk, akkor a hozzáférés az üres listát adja. 2. Allista képzés: Q[i..j]=[x i,x i+1,,x j-1,x j ] Az eredeti listának két megadott sorszámú eleme közötti részlistát adja eredményül. Ha az i sorszám értéke<1, akkor az allistaképzés az első elemtől indul, ha a j értéke >n, akkor az n-edik elmig tart. 3. Összefűzés (konkatenáció, egyesítés): R=[y 1,y 2,,y m ] Q&R=[x 1,x 2,,x n, y 1,y 2,,y m ] 19

20 Lista, mint absztrakt adatszerkezet műveletei Ezek a speciális lista műveletek fontosak, mert az összes többi műveletetet ennek a háromnak a segítségével lehet definiálni: Létrehozás: Létrehozákor explicit módon megadjuk a lista elemeit, amelyek a felsorolás sorrendje alapján kapják sorszámaikat. Bővítés: A listát bárhol bővíthetjük. A bővítést részlista képzéssel és konkatenációval realizálhatjuk. Ha a listát a k-adik elem után akarom bővíteni egy új elemmel, azt úgy tehetem meg: Q[1..k]&[elem] &Q[k+1..n]. 20

21 Lista, mint absztrakt adatszerkezet műveletei Törlés: Fizikai törlést jelent. K-adik elem törlése: Két allista képzéssel és az eredményük konkatenálásával tehetjük meg: Q[1..k-1]&Q[k+1..n] Csere: Értelmezett: Allista képzésekkel és konkatenációval realizálható k-adik elem cseréje: Q[1..k-1]&[x] &Q[k+1..n] A két részlista közé beillesztjük az új elemet, majd a részeket összefüzzük. 21

22 Lista, mint absztrakt adatszerkezet műveletei Rendezés: Minden értelmezett, akármelyik használható. Keresés: Teljes keresés, ill. rendezett listánál lineáris vagy bináris (ez ábrázolás függő is). Feldolgozás: Lista elemeit dolgozza fel. A speciális lista műveletekkel. 22

23 Lista ábrázolása Ábrázolás: Mindkét módszerrel (folytonos, szétszórt) szokásos. Szétszórt ábrázolási módok közül a két irányban láncolt lista a legpraktikusabb. A lista alapvető szerepe olyan problémáknál, ahol az elemek között valamilyen nem értékeken, hanem például időbeliségen alapuló sorrend van, illetve ahol az elemek elérését mindig közvetlenül szeretnénk megoldani. 23

24 Speciális Listák Ezeknél többnyire csak az alábbi hat speciális múvelet némelyike használatos. Ezek a lista első és utolsó elemének kezelésére szolgálnak. 1. ACCES HEAD: Q[1] 2. PUSH: Q [x] &Q 3. POP: Q[1] és Q Q[2..n] 4. ACCESS END: Q[n] 5. INJECT: Q Q &[x] 6. EJECT: Q[n] és Q Q[1..n-1] 24

25 Speciális Listák Verem: Egy speciális lista adatszerkezet. Az előbbi műveletek közül az 1. ACCES HEAD 2. PUSH 3. POP műveleteket lehet értelmezni rajta. A verem alján van a legkisebb sorszámú elem, feljebb egyre nagyobb sorszámúak. A vermet LIFO (last in first out) adatszerkezetnek is szokás nevezni. Az utolsónak érkezett fog először távozni. 25

26 Speciális Listák: Verem Létrehozáskor mindig az üres vermet hozzuk létre. Bővítés: A Push művelet alkalmazásával. Az elemeket érkezésük sorrendjében egymás felé pakoljuk a veremben. Feldolgozáskor csak a legfelső elem hozzáférhető ACCESSHEAD POP (Egyben fizikai törlés is) Törlés: csak fizikai, csak a legutolső elemet lehet. Rendezés: nem értelmezett; Keresés: nem értelmezett; Elérés: Csak a legutóljára elhelyezett elemet lehet. 26

27 Speciális Listák: Verem Ábrázolás: Mindkét módon Folytonos reprezentáció esetén van egy verem mutató, amely jelzi, hogy aktulisan hány elem van a veremben. Egyúttal ez a verem mutató a verem tetejét is címzi. A verem üres, ha nincs egy eleme sem, a verem mutató értéke ilyenkor nulla. A verem tele van, ha nincs több hely a veremben, veremmutató értéke, vm=n. PUSH: Ha a veremben még van hely, az új elemet az vm+1-edik helyre tesszük, majd a veremmutató értéke egyel növeljük. POP: Ha a verem nem üres, a veremmutató által mutatott helyről vesszük ki az elemet, majd a verem mutató értékét eggyel csökkentjük. 27

28 Speciális Listák: Verem Szétszórt reprezentáció Egy irányban láncolt listát használhatunk. PUSH: Egy irányban láncolt lista első eleme előtti bővítéssel Ha a verem üres, a fejmutató értéke NIL. A verem implementációjakor ezeket el kell rejteni, de azért tudnunk kell, hogy üres-e a verem, vagy esetleg tele van-e. A verem alapvető fontosságú az olyan problémák kezelésénél, ahol az elemeket felbukkanási sorrendjük fordítottjában kell feldolgozni. A tömb mellett a másik legalapvetőbb adatszerkezet. Programozási nyelveknél az alprogram hívási láncok kezelésénél van alapvető szerepe. 28

29 Speciális Listák: Sor A sor adatszerkezet olyan speciális lista, amelyet a műveletei definiálnak. 1. ACCESS HEAD 3. POP itt GET-nek nevezzük 5. INJECT itt PUT-nak nevezzük Kiegészítésként kiemeljük az első és az utolsó elemet FIFO adatszerkezetnek is nevezik (First In First Out) Ennek megfelelően a sorba az elemek az érkezésnek megfelelő sorrendben kerülnek, az újak mindig a sor végére kerülnek Feldolgozni a sor első elemét szokás, ami egyben fizikai törlést is jelent 29

30 Speciális Listák: Sor Sorba történő írás művelete, PUT művelet, az olvasás (fizikai törlés) művelete a GET művelet. Logikai törlés nincs Rendezés nincs értelmezve Keresés nincs értelmezve Elérés: Csak az első elemet tudjuk elérni Feldolgozás a fejmutató által hivatkozott elemet Bővítés: az utolsó mutató után a mutatók átállításával 30

31 Speciális Listák: Sor Ábrázolás Szétszórt: egyirányban láncolt listával, két segédmutatóval (fej és vége mutató) Folytonos: Folytonos reprezentációk mindegyike egy vektorban tárolja a sor elemeit Fontos a sor elejének és végének jelzése 1. Fix kezdetű sor 2. Vándorló sor 3. Ciklikus sor 4. Két végű sor 5. Prioritásos sor 31

32 Speciális Listák: Sor Fix kezdetű sor A sor első eleme a vektor első tárhelyén helyezkedik el, az utolsó elem mutatója v. Üres a sor: v=0 Tele van a sor: v=n Új elem beírása: v+1-edik helyre kerül, majd v eggyel megnő. Elem törlése: Nehézkes, több adatmozgatás, a sor első elemét dolgozzuk fel. A sor eleje pedig mindig ugyanott kell, hogy legyen, ezért törlés után a többi elemet rámozgatjuk az előző pozícióra. V értéke eggyel csökken. 32

33 Speciális Listák: Sor Vándorló sor A sokszori adatmozgatást küszöböli ki Elvetjük azt a megszorítást, hogy az első elem az első helyen álljon. Megengedjük, hogy az első elem helye vándoroljon. Ehhez segédmutatók, e és a szokásos v szükséges Üres a sor: e=v=0 Tele a sor: e=1, v=n Új elem bekerülése: A v mutatót követő pozícióra kerül be, ha a sor nincsen tele. Bővítéskorkor előfordulhat, hogy a v az utolsón áll, de az e vándorlása miatt a sor nincs tele: ilyenkor (csak ilyenkor), adatmozgatást hajtunk végre: A legelső pozícióig toljuk a sort előre. 33

34 Speciális Listák: Sor Ciklikus sor: Az adatmozgatást eddig még nem küszöböltük ki teljesen. A ciklikus sorban az elejét és végét jelző mutató vándorlását a határokon keresztül is megengedjük: Üres a sor: e=v=0 Tele a sor: e=1 és v=n, vagy v+1=e. Új elem: szabályokat figyelembe véve, ha a sor nincs tele, akkor a v+1-edik helyre kerül, (esetleg v visszaugrik az elejére). Törlés: e mutató által mutatott elem, majd e=e+1. (Esetleg e visszaugrik az elejére.) 34

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

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

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

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

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

Részletesebben

Adatszerkezetek 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

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok Adatszerkezetek és algoritmusok Jegyzet dr. Juhász István előadása alapján Készítette Csordás Annamária és Mohai Gábor A valós világban rendszerekről beszélünk. A dolgok összetevői egymással kölcsönhatásban

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

Adatszerkezetek 2. Dr. Iványi Péter

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

Amortizációs költségelemzés

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

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

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

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

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

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

Algoritmusok és adatszerkezetek 2.

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

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat 9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:

Részletesebben

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

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

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

Részletesebben

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

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,

Részletesebben

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

Részletesebben

adatszerkezetek 2007/7/6 15:51 page 27 #23

adatszerkezetek 2007/7/6 15:51 page 27 #23 adatszerkezetek 2007/7/6 15:51 page 27 #23 9. FEJEZET Állományok 9.1. Alapfogalmak 9.1. definíció. Másodlagos tárolónak vagy külső tárolónak, háttértárnak, periféria tárolónak nevezzük azokat a tárolóeszközöket,

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

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

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

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

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

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

Részletesebben

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL x 1-2x 2 6 -x 1-3x 3 = -7 x 1 - x 2-3x 3-2 3x 1-2x 2-2x 3 4 4x 1-2x 2 + x 3 max Alapfogalmak: feltételrendszer (narancs színnel jelölve), célfüggvény

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

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

Részletesebben

Hasító táblázatok. Hasító függvények, kulcsütközés kezelése. Programozás II. előadás. Szénási Sándor

Hasító táblázatok. Hasító függvények, kulcsütközés kezelése. Programozás II. előadás.  Szénási Sándor Hasító táblázatok Hasító függvények, kulcsütközés kezelése 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 Felépítése

Részletesebben

Verem Verem mutató 01

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

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA 1. Tízes (decimális) számrendszerből: a. Kettes (bináris) számrendszerbe: Vegyük a 2634 10 -es számot, és váltsuk át bináris (kettes) számrendszerbe! A legegyszerűbb módszer: írjuk fel a számot, és húzzunk

Részletesebben

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel? 7. Számelmélet I. Nulladik ZH-ban láttuk: 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel? ELTE 2006. október 27. (matematika

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

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem A számítástudomány alapjai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Bináris keresőfa, kupac Katona Gyula Y. (BME SZIT) A számítástudomány

Részletesebben

Alkalmazott modul: Programozás

Alkalmazott modul: Programozás Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Feladatgyűjtemény Összeállította: Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Frissítve: 2015.

Részletesebben

Bevezetés a programozásba. 5. Előadás: Tömbök

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

Algoritmuselmélet 2. előadás

Algoritmuselmélet 2. előadás Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés

Részletesebben

Adatszerkezetek 7a. Dr. IványiPéter

Adatszerkezetek 7a. Dr. IványiPéter Adatszerkezetek 7a. Dr. IványiPéter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér () Nincsennek hurkok!!! 2 Bináris fák Azokat a

Részletesebben

Adatbáziskezelés alapjai. jegyzet

Adatbáziskezelés alapjai. jegyzet Juhász Adrienn Adatbáziskezelés alapja 1 Adatbáziskezelés alapjai jegyzet Készítette: Juhász Adrienn Juhász Adrienn Adatbáziskezelés alapja 2 Fogalmak: Adatbázis: logikailag összefüggı információ vagy

Részletesebben

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA BINÁRIS (kettes) ÉS HEXADECIMÁLIS (tizenhatos) SZÁMRENDSZEREK (HELYIÉRTÉK, ÁTVÁLTÁSOK, MŰVELETEK) A KETTES SZÁMRENDSZER A computerek világában a

Részletesebben

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

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

Részletesebben

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I. Számelmélet I. DEFINÍCIÓ: (Osztó, többszörös) Ha egy a szám felírható egy b szám és egy másik egész szám szorzataként, akkor a b számot az a osztójának, az a számot a b többszörösének nevezzük. Megjegyzés:

Részletesebben

Számláló rendezés. Példa

Számláló rendezés. Példa Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a

Részletesebben

Adatszerkezetek és algoritmusok

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

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

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

Részletesebben

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

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva: Tartalom 1. Számrendszerek közti átváltás... 2 1.1. Megoldások... 4 2. Műveletek (+, -, bitműveletek)... 7 2.1. Megoldások... 8 3. Számítógépes adatábrázolás... 12 3.1. Megoldások... 14 A gyakorlósor lektorálatlan,

Részletesebben

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI 4. Fuzzy relációk Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Klasszikus relációk Halmazok Descartes-szorzata Relációk 2 Fuzzy relációk Fuzzy relációk véges alaphalmazok

Részletesebben

Információs Technológia

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

Részletesebben

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

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk. Osztók és többszörösök 1783. A megadott számok elsõ tíz többszöröse: 3: 3 6 9 12 15 18 21 24 27 30 4: 4 8 12 16 20 24 28 32 36 40 5: 5 10 15 20 25 30 35 40 45 50 6: 6 12 18 24 30 36 42 48 54 60 1784. :

Részletesebben

Generikus osztályok, gyűjtemények és algoritmusok

Generikus osztályok, gyűjtemények és algoritmusok Programozási, gyűjtemények és algoritmusok bejárása Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 bejárása 2 bejárása 2 Java-ban és UML-ben bejárása Az UML-beli paraméteres osztályok a Java

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

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

Shannon és Huffman kód konstrukció tetszőleges. véges test felett 1 Shannon és Huffman kód konstrukció tetszőleges véges test felett Mire is jók ezek a kódolások? A szabványos karakterkódolások (pl. UTF-8, ISO-8859 ) általában 8 biten tárolnak egy-egy karaktert. Ha tudjuk,

Részletesebben

Web-programozó Web-programozó

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

Harmadik gyakorlat. Számrendszerek

Harmadik gyakorlat. Számrendszerek Harmadik gyakorlat Számrendszerek Ismétlés Tízes (decimális) számrendszer: 2 372 =3 2 +7 +2 alakiérték valódi érték = aé hé helyiérték helyiértékek a tízes szám hatványai, a számjegyek így,,2,,8,9 Kettes

Részletesebben

Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai

Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai Informatika szigorlat 9-es tétel: Az adatbázis-kezelő rendszerek fogalmai Adatbázis: egymással valamilyen kapcsolatban lévő adatok jól szervezett halmaza, ahol az adatok számítógépen vannak tárolva úgy,

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

Érdekes informatika feladatok

Érdekes informatika feladatok A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket

Részletesebben

TANMENETJAVASLAT. Dr. Korányi Erzsébet MATEMATIKA. tankönyv ötödikeseknek. címû tankönyvéhez

TANMENETJAVASLAT. Dr. Korányi Erzsébet MATEMATIKA. tankönyv ötödikeseknek. címû tankönyvéhez TANMENETJAVASLAT Dr. Korányi Erzsébet MATEMATIKA tankönyv ötödikeseknek címû tankönyvéhez A heti 3 óra, évi 111 óra B heti 4 óra, évi 148 óra Javaslat témazáró dolgozatra: Dr. Korányi Erzsébet: Matematika

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

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás. Emlékeztető: a fordítás lépései Forrás-kezelő (source handler) Szimbólumtábla-kezelés Fordítóprogramok előadás (A, C, T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus elemző

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

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

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! valós adatokat növekvő sorrendbe rendezi és egy sorba kiírja

Részletesebben

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF ADATBÁZIS-KEZELÉS Relációalgebra, 5NF ABSZTRAKT LEKÉRDEZŐ NYELVEK relációalgebra relációkalkulus rekord alapú tartomány alapú Relációalgebra a matematikai halmazelméleten alapuló lekérdező nyelv a lekérdezés

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

Adatszerkezetek 2. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter Adatszerkezetek 2. Dr. Iványi Pé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 (root) Nincsennek hurkok!!! 2 Bináris fák Azokat

Részletesebben

Adatszerkezetek Bevezetés Adatszerkezet Adatszerkezet típusok Műveletek Bonyolultság

Adatszerkezetek Bevezetés Adatszerkezet Adatszerkezet típusok Műveletek Bonyolultság datszerkezetek Bevezetés datszerkezet adatok rendszerének matematikai, logikai modellje elég jó ahhoz, hogy tükrözze a valós kapcsolatokat elég egyszerű a kezeléshez datszerkezet típusok Tömbök lineáris

Részletesebben

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása 1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június

Részletesebben

Gyakorló feladatok ZH-ra

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

Részletesebben

ADATSZERKEZETEK (VEREM, SOR)

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

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Sándor Tamás, sandor.tamas@kvk.bmf.hu Takács Gergely, takacs.gergo@kvk.bmf.hu Lektorálta: dr. Schuster György PhD, hal@k2.jozsef.kando.hu

Részletesebben

10. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 28.

10. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 28. 10. tétel Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 28. 2-3 fák Hatékony keresőfa-konstrukció. Ez is fa, de a binárisnál annyival bonyolultabb hogy egy nem-levél csúcsnak 2 vagy 3 fia

Részletesebben

Adatbázis rendszerek 6.. 6. 1.1. Definíciók:

Adatbázis rendszerek 6.. 6. 1.1. Definíciók: Adatbázis Rendszerek Budapesti Műszaki és Gazdaságtudományi Egyetem Fotogrammetria és Térinformatika 6.1. Egyed relációs modell lényegi jellemzői 6.2. Egyed relációs ábrázolás 6.3. Az egyedtípus 6.4. A

Részletesebben

ADATBÁZIS-KEZELÉS. Relációs modell

ADATBÁZIS-KEZELÉS. Relációs modell ADATBÁZIS-KEZELÉS Relációs modell Relációséma neve attribútumok ORSZÁGOK Azon Ország Terület Lakosság Főváros Földrész 131 Magyarország 93036 10041000 Budapest Európa 3 Algéria 2381740 33769669 Algír Afrika

Részletesebben

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel! függvények RE 1 Relációk Függvények függvények RE 2 Definíció Ha A, B és ρ A B, akkor azt mondjuk, hogy ρ reláció A és B között, vagy azt, hogy ρ leképezés A-ból B-be. Ha speciálisan A=B, azaz ρ A A, akkor

Részletesebben

Hierarchikus adatszerkezetek

Hierarchikus adatszerkezetek 5. előadás Hierarchikus adatszerkezetek A hierarchikus adatszerkezet olyan < A, R > rendezett pár, amelynél van egy kitüntetett r A gyökérelem úgy, hogy: 1. r nem lehet végpont, azaz a A esetén R(a,r)

Részletesebben

ADATBÁZIS-KEZELÉS ALAPOK I.

ADATBÁZIS-KEZELÉS ALAPOK I. ADATBÁZIS-KEZELÉS ALAPOK I. AZ ADATBÁZIS FOGALMA Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei egy meghatározott tulajdonságuk alapján összetartozónak tekinthetők. Az adatbázis-kezelőknek

Részletesebben

C++ programozási nyelv

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

Számelméleti alapfogalmak

Számelméleti alapfogalmak 1 Számelméleti alapfogalmak 1 Definíció Az a IN szám osztója a b IN számnak ha létezik c IN melyre a c = b Jelölése: a b 2 Példa a 0 bármely a számra teljesül, mivel c = 0 univerzálisan megfelel: a 0 =

Részletesebben

Statisztikai függvények

Statisztikai függvények EXCEL FÜGGVÉNYEK 9/1 Statisztikai függvények ÁTLAG(tartomány) A tartomány terület numerikus értéket tartalmazó cellák értékének átlagát számítja ki. Ha a megadott tartományban nincs numerikus értéket tartalmazó

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

MATEMATIKAI FÜGGVÉNYEK

MATEMATIKAI FÜGGVÉNYEK MATEMATIKAI FÜGGVÉNYEK ABS Egy szám abszolút értékét adja eredményül. =ABS(32) eredménye 32, =ABS(-32) eredménye ugyancsak 32 DARABTELI Összeszámolja egy tartományban a megadott feltételeknek eleget tevő

Részletesebben

5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.

5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus. 5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus. Optimalis feszítőfák Egy összefüggő, irányítatlan

Részletesebben

3/1. tétel: Linearis adatszerkezetek és műveleteik

3/1. tétel: Linearis adatszerkezetek és műveleteik 3/1. tétel: Linearis adatszerkezetek és műveleteik A gyűjtemények (collections) közé sorolhatók a halmaz (set), a csomag (bag, multiset) és a vector (sequence, list). Gyűjtemények általánosan Értelmezzük

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

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy

Részletesebben

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei A Gauss-Jordan elimináció, mátrixinvertálás Gauss-Jordan módszer Ugyanazzal a technikával, mint ahogy a k-adik oszlopban az a kk alatti elemeket kinulláztuk, a fölötte lévő elemeket is zérussá lehet tenni.

Részletesebben

terminológia, értelmezések, fogalmak

terminológia, értelmezések, fogalmak terminológia, értelmezések, fogalmak Raffai Mária dr. Az információrendszer leképezése Valós folyamatok visszacsatolás információrendszer. leképezés. leképezés funkcionális modell adatmodell logikai tervmodell

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

1.előadás Tornai Kálmán

1.előadás Tornai Kálmán 1.előadás Tornai Kálmán tornai.kalman@itk.ppke.hu Általános tudnivalók Előadás: 2 óra (Labor)gyakorlat: 3 óra Előismeretek: Kötelező: Bevezetés a programozásba I-II. Algebra és diszkrét matematika I. II.

Részletesebben

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok és programozási tételek

Részletesebben

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA 1 ELSŐ GYAKORLAT SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA A feladat elvégzése során a következőket fogjuk gyakorolni: Számrendszerek közti átváltás előjelesen és előjel nélkül. Bináris, decimális, hexadexcimális számrendszer.

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

Táblázatkezelés Excel XP-vel. Tanmenet

Táblázatkezelés Excel XP-vel. Tanmenet Táblázatkezelés Excel XP-vel Tanmenet Táblázatkezelés Excel XP-vel TANMENET- Táblázatkezelés Excel XP-vel Témakörök Javasolt óraszám 1. Bevezetés az Excel XP használatába 4 tanóra (180 perc) 2. Munkafüzetek

Részletesebben

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja. Testmodellezés Testmodellezés (Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja. A tervezés (modellezés) során megadjuk a objektum geometria

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben