9. előadás. A táblázat. A táblázatról általában, soros, önátrendező, rendezett és kulcstranszformációs táblázat

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

Download "9. előadás. A táblázat. A táblázatról általában, soros, önátrendező, rendezett és kulcstranszformációs táblázat"

Átírás

1 . előadás ról általában, soros, önátrendező, rendezett és kulcstranszformációs Adatszerkezetek és algoritmusok előadás 0. április. ról általában,, és Debreceni Egyetem Informatikai Kar.

2 Általános tudnivalók Ajánlott irodalom: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Új algoritmusok, Scolar Informatika, 00. Donald E. Knuth: A számítógépprogramozás művészete. (Alapvető algoritmusok), Műszaki Könyvkiadó,. Donald E. Knuth: A számítógépprogramozás művészete. (Keresés és rendezés), Műszaki Könyvkiadó,. Seymour Lipschutz: Adatszerkezetek, Panem-McGraw-Hill, Budapest,. Rónyai Lajos, Ivanyos Gábor, Szabó Réka: Algoritmusok, Typotex, Budapest, 00. Félév teljesítésének feltételei: Gyakorlati aláírás ZH Írásbeli vizsga, aminek az értékelésébe... További részletek: ról általában.

3 Adatelemei tartalmuk alapján, valamilyen kulcs segítségével címezhetők (pl.: tömb, mátrix, ). Legegyszerűbb eset: kulcs = index (pl. tömb). Megkülönböztetünk: közvetlen (direkt) szervezésű struktúrák véletlen (indirekt) szervezésű struktúrák Feladat: a kulcs alapján feleltessünk meg valamilyen memóriaterületet az adatelemnek. ról általában Közvetlen szervezésű struktúrák esetén a kulcs és az adatelem között egyértelmű megfeleltetés állítható fel..

4 dinamikus, homogén és asszociatív adatszerkezet. KULCS ÉRTÉK a egy eleme ról általában Elemei összetettek: kulcs és érték komponensből állnak..

5 A kulcsnak a ban előforduló értékeit kulcsértékeknek nevezzük. KULCS ÉRTÉK ról általában a kulcs értékei (különbözőek) elemeit a kulcsuk értékei alapján különböztetjük meg egymástól. ban nem szerepelhet két azonos kulcsérték. (Ezért nevezhetjük őket kulcsértékeknek.).

6 az egydimenziós tömb általánosításának tekinthető: az adatelemeket a kulcsuk értéke alapján azonosítjuk, ezeknek az értékeknek azonban nem feltétlenül kell egész számoknak lenniük, lehet más típusuk is. KULCS ÉRTÉK ról általában azonos típusúak A KULCS és ÉRTÉK komponensek típusának sem feltétlenül kell megegyeznie egymással. Az adatelemekben a kulcsértékek típusát a KULCS típusa, az értékek típusát az ÉRTÉK típusa határozza meg..

7 az egydimenziós tömb általánosításának tekinthető: az adatelemeket a kulcsuk értéke alapján azonosítjuk, ezeknek az értékeknek azonban nem feltétlenül kell egész számoknak lenniük, lehet más típusuk is. KULCS ÉRTÉK ról általában azonos típusúak A KULCS és ÉRTÉK komponensek típusának sem feltétlenül kell megegyeznie egymással. Az adatelemekben a kulcsértékek típusát a KULCS típusa, az értékek típusát az ÉRTÉK típusa határozza meg..

8 Az adatelemek beli sorrendjét az elemek ba kerülésének időbeli (érkezési) sorrendje, ill. az esetleges törlések sorrendje befolyásolja. tal végezhető műveletek Létrehozás: a KULCS és az ÉRTÉK típusának meghatározása, és az elemek elhelyezése érkezési sorrendben. Bővítés: a végén, az új elemet az eddigi utolsó elem mögé helyezzük el. Törlés: mind folytonos, mind szétszórt reprezentáció mellett megvalósítható a fizikai törlés. Csere: az érték rész bármikor, kulcsérték csak akkor cserélhető, ha az új érték még nem szerepel. Rendezés: nem értelmezett. Keresés: teljes keresés a kulcs értéke alapján. Elérés: soros. Bejárás: általában az elejétől a végéig. A feldolgozás alapja a kulcs és a teljes keresés. ról általában.

9 Folytonosan és szétszórtan (pl. egyirányban láncolt listával) egyaránt ábrázolható. Előbbi esetben a fizikai törlést úgy valósíthatjuk meg, hogy a törlendő adatelemet a utolsó elemével felülírjuk, és csökkentjük a aktuális elemszámát. Utóbbi esetben a törlés szokás szerint mutatóértékek cseréjével oldható meg. Mikor érdemes használni? Ha az elemek feldolgozási gyakorisága nagyjából azonos, és nem lényeges az elemek feldolgozásának a sorrendje. (Pl.: Sokkal gyakrabban számolunk átlagot, mint keresünk egy bizonyos elemet.) ról általában.

10 tal végezhető műveletek A műveletek legtöbbje megegyezik a soros éval. Kivételt képez a feldolgozás. Egy elem feldolgozása után a feldolgozott elemet a elejére helyezzük, az addigi első elem elé. Ennek következtében mindig a legutoljára feldolgozott elem lesz a elején. Nagyszámú adatelem feldolgozása után az elemek sorrendje a ban jól fogja közelíteni a feldolgozási gyakoriságot: a elején lesznek a gyakrabban feldolgozott elemek. Az önátrendező legjobban szétszórtan, egyirányban láncolt listával reprezentálható. Ekkor a feldolgozás művelete mindössze három mutató értékének a cseréjét jelenti. ról általában Mikor érdemes használni? Ha az elemek feldolgozási gyakorisága (nagyon) eltérő..

11 endezett Elemei a kulcsértékek alapján rendezettek, az adatelemek sorrendjét a kulcsértékek (általában) növekvő sorrendje definiálja. tal végezhető műveletek A műveletek legtöbbje megegyezik a soros éval. Kivételt képeznek a következő műveletek: Létrehozás és bővítés: az érkező elemeket rendezetten helyezzük el a ban, rendezett sorozatba történő beszúrással. Csere: az adatelem értékrésze bármikor cserélhető. Keresés: lineáris vagy bináris (reprezentációfüggő). Folytonos reprezentációnál gyorsabb a keresés, de nehézkes a bővítés és a törlés. Szétszórt reprezentációnál ennek az ellenkezője igaz. ról általában Mikor érdemes használni? Ha az elemek feldolgozási gyakorisága nagyjából azonos, és fontos a feldolgozásuk sorrendje és gyorsasága..0

12 ulcstranszformációs Véletlen szervezésű struktúrák. Cél A (szinte) közvetlen elérés biztosítása a kulcsértékek alapján. Hash függvény A kulcstranszformációs ban egy K értékű kulccsal rendelkező elem helyét (címét) egy h függvény h(k ) értéke határozza meg. Ezt a h függvényt hívjuk hasító vagy hash függvénynek. Hashing Azt az eljárást, melynek során egy adatelem K értékű kulcsához meghatározzuk a h(k ) értéket (az adatelem beli helyét), hasításnak, hashingnek, randomizálásnak vagy kulcstranszformációnak nevezzük. ról általában Ennek a fajtának az ábrázolása folytonos vagy legalább a folytonos ábrázoláson alapul..

13 ulcstranszformációs Kölcsönösen egyértelmű hash függvény használható, ha a gyakorlatban előforduló kulcsértékek száma közel azonos az elvileg lehetséges kulcsértékek számával; vagy a gyakorlatban előforduló kulcsértékek egyenletesen oszlanak el az elvileg lehetséges kulcsértékek között. ról általában Ha a gyakorlatban előforduló kulcsértékek száma és az elvi lehetőségek száma között nagy az eltérés, és a gyakorlatban előforduló kulcsértékeknek nem egyenletes az eloszlása, akkor csak egyértelmű hash függvények használatára van lehetőség. Egy egyértelmű hash függvénytől a következőket várjuk el: a gyakorlatban előforduló kulcsokat képezze le a rendelkezésre álló címtartományba; a rendelkezésre álló címtartományon belül tegye egyenletessé az elemek eloszlását..

14 ulcstranszformációs módszer A kulcstranszformációs módszer egy algoritmus, amely azt írja le, hogy a hash függvény hogyan képezi le a kulcsértéket a tárbeli címre. A gyakorlatban a kulcsok típusa alapján megkülönböztetünk szöveges és numerikus kulcsokat. Szöveges típusú kulcsok esetén a szöveget alkotó karakterek belső kódjainak valamilyen numerikus függvényét tekintjük, amellyel a kulcstranszformációt a numerikus típusú kulcsok esetére vezethetjük vissza. ról általában Numerikus típusú kulcsok esetén többek között az alábbi használhatók: prímszámmal való osztás szorzás helyiérték-kiválasztás bázistranszformáció.

15 , szinonimakezelő Univerzális hash függvény nem létezik. A csak egyértelmű hash függvényeknél előfordulhat, hogy a függvény a különböző kulcsértékekkel rendelkező adatelemekhez ugyanazt a tárcímet rendeli. Az ilyen adatelemeket szinonimáknak, magát a jelenséget pedig túlcsordulásnak nevezzük. (Egyéb elnevezések: ütközés, ütközéskezelés.) A szinonimák felbukkanását kezelni kell, mert nem helyezhetünk el két vagy több adatelemet ugyanazon a tárhelyen. ról általában Néhány szinonimakezelő módszer: független túlcsordulási lista alkalmazása nyílt címzés módszere nyílt címzés (belső) láncolással.

16 üggetlen túlcsordulási lista h(k) = k mod + 0 ról általában.

17 üggetlen túlcsordulási lista h(k) = k mod + 0 nil ról általában.

18 üggetlen túlcsordulási lista h(k) = k mod + 0 nil nil ról általában.

19 üggetlen túlcsordulási lista h(k) = k mod + 0 nil nil ról általában.

20 üggetlen túlcsordulási lista h(k) = k mod + 0 nil nil nil ról általában.

21 üggetlen túlcsordulási lista h(k) = k mod + 0 nil nil nil ról általában.

22 üggetlen túlcsordulási lista h(k) = k mod + 0 nil nil nil nil ról általában.

23 üggetlen túlcsordulási lista h(k) = k mod + 0 nil nil nil nil nil ról általában.

24 üggetlen túlcsordulási lista h(k) = k mod + 0 nil nil nil nil nil ról általában.

25 üggetlen túlcsordulási lista ról általában.

26 Független túlcsordulási lista Hatékonyság Legyen T egy m rést tartalmazó hasító, melyben n elem van. Definiáljuk T-ben az α kitöltési tényezőt, mint az n/m hányadost, ami nem más, mint az egy láncba fűzött elemek átlagos száma. Feltételezzük, hogy minden elem egyforma valószínűséggel képződik le bármely résre, függetlenül attól, hogy a többiek hová kerültek. Ezt egyszerű egyenletes hasítási feltételnek nevezzük. Ha a T[j] lista hosszát n j -vel ( j =,,..., m ), jelöljük, akkor n = n + n + + n m ról általában és n j várható értéke E [n j ] = n/m = α. Feltesszük, hogy a h(k) hasított érték O() idő alatt számítható ki, s így egy k kulcsú elem keresésének ideje lineárisan függ a T [h(k)] lista n h(k) hosszától..

27 Független túlcsordulási lista Hatékonyság Theorem (Tankönyv:.. tétel.) Ha egy hasító ban az ütközések feloldására láncolást használunk és a hasítás egyszerű egyenletes, akkor a sikertelen keresés átlagos ideje Θ( + α). Bizonyítás. Az egyszerű egyenletesség feltételezése miatt bármely k kulcs, amely még nincs a ban, egyforma valószínűséggel képződik le az m rés bármelyikére. Ezért egy k kulcs sikertelen keresésének átlagos ideje megegyezik annak átlagos idejével, hogy a T [h(k)] listát végigkeressük. Ennek a listának az átlagos hossza E [ n h(k) ] = α. Ezért a sikertelen keresés során megvizsgált elemek várható száma α, s így az összes szükséges idő (beszámítva a h(k) kiszámítási idejét is) valóban Θ( + α). ról általában Theorem (Tankönyv:.. tétel.) Ha egy hasító ban a kulcsütközések feloldására láncolást használunk és a hasítás egyszerű egyenletes, akkor a sikeres keresés átlagos ideje Θ( + α)..

28 Független túlcsordulási lista Hatékonyság Theorem (Tankönyv:.. tétel.) Ha egy hasító ban az ütközések feloldására láncolást használunk és a hasítás egyszerű egyenletes, akkor a sikertelen keresés átlagos ideje Θ( + α). Bizonyítás. Az egyszerű egyenletesség feltételezése miatt bármely k kulcs, amely még nincs a ban, egyforma valószínűséggel képződik le az m rés bármelyikére. Ezért egy k kulcs sikertelen keresésének átlagos ideje megegyezik annak átlagos idejével, hogy a T [h(k)] listát végigkeressük. Ennek a listának az átlagos hossza E [ n h(k) ] = α. Ezért a sikertelen keresés során megvizsgált elemek várható száma α, s így az összes szükséges idő (beszámítva a h(k) kiszámítási idejét is) valóban Θ( + α). ról általában Theorem (Tankönyv:.. tétel.) Ha egy hasító ban a kulcsütközések feloldására láncolást használunk és a hasítás egyszerű egyenletes, akkor a sikeres keresés átlagos ideje Θ( + α)..

29 yílt címzés módszere Egy tárhely státusza lehet: { üres szabad logikailag törölt foglalt bővítése: ról általában h(k) = k mod + h(k) 0.

30 yílt címzés módszere Egy tárhely státusza lehet: { üres szabad logikailag törölt foglalt bővítése: h(k) h(k) = k mod + 0 ról általában.

31 yílt címzés módszere Egy tárhely státusza lehet: { üres szabad logikailag törölt foglalt bővítése: h(k) h(k) = k mod + 0 ról általában.

32 yílt címzés módszere Egy tárhely státusza lehet: { üres szabad logikailag törölt foglalt bővítése: h(k) h(k) = k mod + 0 ról általában.

33 yílt címzés módszere Egy tárhely státusza lehet: { üres szabad logikailag törölt foglalt bővítése: h(k) h(k) = k mod + 0 ról általában.

34 yílt címzés módszere Egy tárhely státusza lehet: { üres szabad logikailag törölt foglalt bővítése: h(k) h(k) = k mod + 0 ról általában.

35 yílt címzés módszere Egy tárhely státusza lehet: { üres szabad logikailag törölt foglalt bővítése: h(k) h(k) = k mod + 0 ról általában.

36 yílt címzés módszere Egy tárhely státusza lehet: { üres szabad logikailag törölt foglalt bővítése: h(k) h(k) = k mod + 0 ról általában.

37 yílt címzés módszere Egy tárhely státusza lehet: { üres szabad logikailag törölt foglalt bővítése: h(k) h(k) = k mod + 0 ról általában.

38 yílt címzés módszere Ha adott egy h : U {,,..., m } közönséges hasító függvény, akkor a lineáris kipróbálás módszere az alábbi hasító függvényt használja (i=,,...,m): h(k, i) = ((h (k) + i ) mod m) +. ról általában Négyzetes kipróbálás módszere: ( ) h(k, i) = (h (k) + c (i ) + c (i ) ) mod m +. Dupla hasítás módszere: h(k, i) = ((h (k) + (i ) h (k)) mod m) +. Itt h (k)-nak relatív prímnek kell lennie m-hez képest. (Pl. m = k és h (k) = h (k) +.).0

39 yílt címzés módszere Ha adott egy h : U {,,..., m } közönséges hasító függvény, akkor a lineáris kipróbálás módszere az alábbi hasító függvényt használja (i=,,...,m): h(k, i) = ((h (k) + i ) mod m) +. ról általában Négyzetes kipróbálás módszere: ( ) h(k, i) = (h (k) + c (i ) + c (i ) ) mod m +. Dupla hasítás módszere: h(k, i) = ((h (k) + (i ) h (k)) mod m) +. Itt h (k)-nak relatív prímnek kell lennie m-hez képest. (Pl. m = k és h (k) = h (k) +.).0

40 yílt címzés módszere Ha adott egy h : U {,,..., m } közönséges hasító függvény, akkor a lineáris kipróbálás módszere az alábbi hasító függvényt használja (i=,,...,m): h(k, i) = ((h (k) + i ) mod m) +. ról általában Négyzetes kipróbálás módszere: ( ) h(k, i) = (h (k) + c (i ) + c (i ) ) mod m +. Dupla hasítás módszere: h(k, i) = ((h (k) + (i ) h (k)) mod m) +. Itt h (k)-nak relatív prímnek kell lennie m-hez képest. (Pl. m = k és h (k) = h (k) +.).0

41 yílt címzés módszere Theorem (Tankönyv:.. tétel.) Ha adott egy nyílt címzéses hasító az α = n/m < kitöltöttségi aránnyal, akkor a sikertelen keresés várható próbaszáma az egyenletes hasítási feltétel teljesülése esetén legfeljebb /( α). Corollary (Tankönyv:.. következmény.) Egy α kitöltési tényezőjű nyílt címzéses hasító ba való beszúrás várható próbaszáma az egyenletes hasítási feltétel teljesülése esetén legfeljebb /( α). Theorem (Tankönyv:.. tétel.) ról általában Legyen adott egy nyílt címzéses hasító az α < kitöltöttségi aránnyal. Tegyük fel az egyenletes hasítási feltételt és azt, hogy a minden elemét egyforma valószínűséggel keressük. Ekkor a sikeres keresés várható próbaszáma α ln α.

42 yílt címzés módszere Bizonyítás. Egy k kulcsot keresve ugyanazt a kipróbálási útvonalat követjük, mint amikor az azt tartalmazó elemet beszúrtuk. A.. következmény szerint ha k az (i + )-edik elemként került be a hasító ba, akkor a próbák várható száma a keresésnél legfeljebb /( i/m) = m/(m i). A hasító ban levő n kulcsra átlagolva azt kapjuk, hogy a sikeres keresés átlagos próbaszáma: n m n m i i=0 = m n = α n m i i=0 m k m α m n x dx k=m n+ = α ln m m n = α ln α Például: α = 0. = várható próbaszáma, α = 0. = várható próbaszáma, ról általában.

43 yílt címzés (belső) láncolással Egy tárhely státusza lehet: szabad (üres vagy logikailag törölt) (Itt tényleg mindegy.) foglalt bővítése: ról általában h(k) = k mod + h(k) 0.

44 yílt címzés (belső) láncolással Egy tárhely státusza lehet: szabad (üres vagy logikailag törölt) (Itt tényleg mindegy.) foglalt bővítése: h(k) h(k) = k mod ról általában.

45 yílt címzés (belső) láncolással Egy tárhely státusza lehet: szabad (üres vagy logikailag törölt) (Itt tényleg mindegy.) foglalt bővítése: h(k) 0 h(k) = k mod ról általában.

46 yílt címzés (belső) láncolással Egy tárhely státusza lehet: szabad (üres vagy logikailag törölt) (Itt tényleg mindegy.) foglalt bővítése: ról általában h(k) h(k) = k mod

47 yílt címzés (belső) láncolással Egy tárhely státusza lehet: szabad (üres vagy logikailag törölt) (Itt tényleg mindegy.) foglalt bővítése: ról általában h(k) h(k) = k mod

48 yílt címzés (belső) láncolással Egy tárhely státusza lehet: szabad (üres vagy logikailag törölt) (Itt tényleg mindegy.) foglalt bővítése: ról általában h(k) h(k) = k mod

49 yílt címzés (belső) láncolással Egy tárhely státusza lehet: szabad (üres vagy logikailag törölt) (Itt tényleg mindegy.) foglalt bővítése: h(k) h(k) = k mod ról általában.

50 yílt címzés (belső) láncolással Egy tárhely státusza lehet: szabad (üres vagy logikailag törölt) (Itt tényleg mindegy.) foglalt bővítése: h(k) 0 0 h(k) = k mod ról általában.

51 yílt címzés (belső) láncolással Egy tárhely státusza lehet: szabad (üres vagy logikailag törölt) (Itt tényleg mindegy.) foglalt bővítése: h(k) h(k) = k mod ról általában.

52 ulcstranszformációs tal végezhető műveletek Létrehozáskor a gyakorlatban előforduló kulcsértékek darabszámát megbecsüljük, kiválasztunk egy hash függvényt és (ha szükséges) egy szinonimakezelési módszert, majd lefoglaljuk a tárhelyeket a becslésnek megfelelően, és mindegyiket üresre állítjuk. Bővítés: az adatelem kulcsértéke alapján, a hash függvény segítségével. Törlés: szinte kizárólag logikai; fizikai csak a túlcsordulási listából. Csere: kulcs alapján a hozzá tartozó értéket lehet cserélni. Rendezés: nincs. Elérés: kvázi közvetlen, a hash függvény a közvetlen elérést szolgálja, a szinonimákat keresni kell. Keresés: általában nincs, csak szinonimákat kereshetünk, az pedig a szinonimakezelési módszertől függ. Bejárás: nincs, mivel csak közvetlen elérés van. A feldolgozás alapja a hash függvény, illetve a közvetlen elérés. ról általában.

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

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

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

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

Részletesebben

Kulcs transzformációs táblázat

Kulcs transzformációs táblázat 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

Részletesebben

10. előadás Speciális többágú fák

10. előadás Speciális többágú fák 10. előadás Adatszerkezetek és algoritmusok előadás 2018. április 17., és Debreceni Egyetem Informatikai Kar 10.1 A többágú fák kezelésére nincsenek általános elvek, implementációjuk elsősorban alkalmazásfüggő.

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

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

Önszervező bináris keresőfák

Önszervező bináris keresőfák Önszervező bináris keresőfák Vágható-egyesíthető halmaz adattípus H={2,5,7,11,23,45,75} Vag(H,23) Egyesit(H1,H2) H1= {2,5,7,11} H2= {23,45,75} Vágás A keresési útvonal mentén feldaraboljuk a fát, majd

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

6. előadás. Kiegyensúlyozottság, AVL-fa, piros-fekete fa. Adatszerkezetek és algoritmusok előadás március 6.

6. előadás. Kiegyensúlyozottság, AVL-fa, piros-fekete fa. Adatszerkezetek és algoritmusok előadás március 6. 6. előadás, AVL-fa, piros-fekete fa Adatszerkezetek és algoritmusok előadás 2018. március 6.,, és Debreceni Egyetem Informatikai Kar 6.1 Általános tudnivalók Ajánlott irodalom: Thomas H. Cormen, Charles

Részletesebben

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

Algoritmuselmélet. Hashelés. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Algoritmuselmélet Hashelés 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

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

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

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

Algoritmuselmélet 6. előadás

Algoritmuselmélet 6. előadás Algoritmuselmélet 6. 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 Március 4. ALGORITMUSELMÉLET 6. ELŐADÁS 1 Hash-elés

Részletesebben

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

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

Részletesebben

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

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

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

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

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

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

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

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

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

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

Részletesebben

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

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

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

Részletesebben

Elemi adatszerkezetek

Elemi adatszerkezetek 2017/12/16 17:22 1/18 Elemi adatszerkezetek < Programozás Elemi adatszerkezetek Szerző: Sallai András Copyright Sallai András, 2011, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu

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

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

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

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

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

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

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

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

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

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

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

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

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

Részletesebben

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Elemi algoritmusok ismerete

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Elemi algoritmusok ismerete A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 07

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

Részletesebben

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

17. előadás: Vektorok a térben

17. előadás: Vektorok a térben 17. előadás: Vektorok a térben Szabó Szilárd A vektor fogalma A mai előadásban n 1 tetszőleges egész szám lehet, de az egyszerűség kedvéért a képletek az n = 2 esetben szerepelnek. Vektorok: rendezett

Részletesebben

Algoritmusok és adatszerkezetek II.

Algoritmusok és adatszerkezetek II. Szegedi Tudományegyetem - Természettudományi és Informatikai Kar - Informatikai Tanszékcsoport - Számítógépes Algoritmusok és Mesterséges Intelligencia Tanszék - Németh Tamás Algoritmusok és adatszerkezetek

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

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

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás.   Szénási Sándor Gráfok 2. Legrövidebb utak, feszítőfák előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Legrövidebb utak keresése Minimális feszítőfa keresése Gráfok 2

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

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

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

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

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

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

7. előadás. Gyorsrendezés, rendezés lineáris lépésszámmal. Adatszerkezetek és algoritmusok előadás március 6.

7. előadás. Gyorsrendezés, rendezés lineáris lépésszámmal. Adatszerkezetek és algoritmusok előadás március 6. 7. előadás, rendezés lineáris lépésszámmal Adatszerkezetek és algoritmusok előadás 2018. március 6.,, és Debreceni Egyetem Informatikai Kar 7.1 Általános tudnivalók Ajánlott irodalom: Thomas H. Cormen,

Részletesebben

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,... RSA algoritmus 1. Vegyünk véletlenszerűen két különböző nagy prímszámot, p-t és q-t. 2. Legyen n = pq. 3. Vegyünk egy olyan kis páratlan e számot, amely relatív prím φ(n) = (p 1)(q 1)-hez. 4. Keressünk

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

Függvények növekedési korlátainak jellemzése

Függvények növekedési korlátainak jellemzése 17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,

Részletesebben

Adatbáziskezelés. Indexek, normalizálás NZS 1

Adatbáziskezelés. Indexek, normalizálás NZS 1 Adatbáziskezelés Indexek, normalizálás NZS 1 Fáljszervezés módjai Soros elérés: a rekordok a fájlban tetszőleges sorrendben, például a felvitel sorrendjében helyezkednek el. A rekord azonosítója vagyis

Részletesebben

Térinformatikai adatszerkezetek

Térinformatikai adatszerkezetek Térinformatikai adatszerkezetek 1. Pont Egy többdimenziós pont reprezentálható sokféle módon. A választott reprezentáció függ attól, hogy milyen alkalmazás során akarjuk használni, és milyen típusú műveleteket

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

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

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

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

Algoritmusok bonyolultsága

Algoritmusok bonyolultsága Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,

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

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

1. előadás. számításokban. Adatszerkezetek és algoritmusok előadás február 12. Kósa Márk, Pánovics János, Szathmáry László és Halász Gábor

1. előadás. számításokban. Adatszerkezetek és algoritmusok előadás február 12. Kósa Márk, Pánovics János, Szathmáry László és Halász Gábor 1. előadás mint Adatszerkezetek és algoritmusok előadás 2019. február 12. fogalma megadása építőelemei mint helyessége elemzés,, és Debreceni Egyetem Informatikai Kar 1.1 Általános tudnivalók Ajánlott

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

19. Hasításos technikák (hash-elés)

19. Hasításos technikák (hash-elés) 19. Hasításos technikák (hash-elés) Példák: 1. Ha egy telefon előfizetőket a telefonszámaikkal azonosítjuk, mint kulcsokkal, akkor egy ritkán kitöltött kulcstartományhoz jutunk. A telefonszám tehát nem

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

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

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

Algoritmuselmélet 1. előadás

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

Részletesebben

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

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

Részletesebben

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

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

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

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

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet   takach november 30. 1 Diszkrét matematika I, 12 előadás Dr Takách Géza NyME FMK Informatikai Intézet takach@infnymehu http://infnymehu/ takach 2005 november 30 Vektorok Definíció Egy tetszőleges n pozitív egész számra n-komponensű

Részletesebben

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

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

Részletesebben

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Feladatok kijelentéseinek megértése

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Feladatok kijelentéseinek megértése A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület

Részletesebben

GRÁFOK ÉS ALGORITMUSOK ELMÉLETE VIZSGAKÉRDÉSEK Matematika BSc Elemző szakirány II. év 1. félév

GRÁFOK ÉS ALGORITMUSOK ELMÉLETE VIZSGAKÉRDÉSEK Matematika BSc Elemző szakirány II. év 1. félév GRÁFOK ÉS ALGORITMUSOK ELMÉLETE VIZSGAKÉRDÉSEK Matematika BSc Elemző szakirány II. év 1. félév Az írásbeli vizsgán öt kérdést kell kidolgozni, A kérdések az alábbiak közül kerülnek kiválasztásra, a műfaji

Részletesebben

Gráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa:

Gráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa: Gráfok, definíciók Irányítatlan gráf: G = (V,E), ahol E rendezetlen (a,b),a,b V párok halmaza. Irányított gráf: G = (V,E) E rendezett (a,b) párok halmaza; E V V. Címkézett (súlyozott) gráf: G = (V,E,C)

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

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

Algoritmusok és adatszerkezetek II. régebbi vizsgakérdések.

Algoritmusok és adatszerkezetek II. régebbi vizsgakérdések. Algoritmusok és adatszerkezetek II. régebbi vizsgakérdések. Ásványi Tibor asvanyi@inf.elte.hu 2017. július 4. Az eljárásokat és függvényeket megfelel en elnevezett és paraméterezett struktogramok segítségével

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

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

11. előadás. Párhuzamosság. Több szálon futó algoritmusok, logikai párhuzamosság. Adatszerkezetek és algoritmusok előadás április 30.

11. előadás. Párhuzamosság. Több szálon futó algoritmusok, logikai párhuzamosság. Adatszerkezetek és algoritmusok előadás április 30. 11. előadás Több szálon futó algoritmusok, logikai párhuzamosság Adatszerkezetek és algoritmusok előadás 2019. április 30.,, és Debreceni Egyetem Informatikai Kar 11.1 Általános tudnivalók Ajánlott irodalom:

Részletesebben

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1. Nagyságrendek Kiegészítő anyag az Algoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: Algoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 018. február 1. Az O, Ω, Θ jelölések Az algoritmusok

Részletesebben

Diszkrét matematika II., 8. előadás. Vektorterek

Diszkrét matematika II., 8. előadás. Vektorterek 1 Diszkrét matematika II., 8. előadás Vektorterek Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach/ 2007.??? Vektorterek Legyen T egy test (pl. R, Q, F p ). Definíció.

Részletesebben

22. GRÁFOK ÁBRÁZOLÁSA

22. GRÁFOK ÁBRÁZOLÁSA 22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is

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

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

Adatszerkezet - műveletek

Adatszerkezet - műveletek Adatszerkezet - műveletek adatszerkezet létrehozása adat felvétele adat keresése adat módosítása adat törlése elemszám visszaadása minden adat törlése (üresít) adatszerkezet felszámolása (megszüntet) +

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

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