Algoritmusok és adatszerkezetek II. régebbi vizsgakérdések.
|
|
- Vilmos Balla
- 6 évvel ezelőtt
- Látták:
Átírás
1 Algoritmusok és adatszerkezetek II. régebbi vizsgakérdések. Ásványi Tibor július 4. Az eljárásokat és függvényeket megfelel en elnevezett és paraméterezett struktogramok segítségével adjuk meg! Ne feledkezzünk meg a skalár típusú referencia paraméterek szükség szerinti jelölésér l sem! A változókat alapértelmezésben a struktogramra vonatkozóan lokálisnak tekintjük. Az algoritmusok konkrét példákon való bemutatásánál a m ködést alapértelmezésben az el adáson tanultak szerint kell szemléltetni. A vizsgákon öt feladat van: legalább egy kérdés az els két témakörb l (rendezés lineáris id ben, hasító táblák), legalább két kérdés a gráagoritmusokból és legalább egy kérdés az utolsó két témakörb l (sztring keresés, tömörítés). Mindegyik feladat 20 pontot ér. A ponthatárok: 85 jeles ; 70 jó ; 55 közepes ; 40 elégséges. 1. Rendezés lineáris id ben 1.1. Edényrendezés a [0;1) intervallumon 1.a, A 0,4; 0,82; 0,0; 0,53; 0,73; 0,023; 0,64; 0,7; 0,39; 0,203, tíz elem listán mutassa be az Edényrendezés algoritmusát [0; 1)-beli kulcsokra! 1.b, Adja meg az edényrendezés struktogramját! 1.c, Mekkora a minimális m veletigénye? Mekkora az átlagos m veletigénye, és milyen feltétellel? Hogyan tudnánk biztosítani, hogy a maximális m veletigénye Θ(n lg n) legyen? 2. A 0,42; 0,16; 0,64; 0,39; 0,20; 0,89; 0,13; 0,79; 0,53; 0,71 listán mutassa be és magyarázza el az Edényrendezés algoritmusát [0; 1)-beli kulcsokra! Mekkora a (szokásos, beszúró rendezéses változatának) minimális és maximális m veletigénye? Miért? Mekkora az átlagos m veletigénye? Hogyan 1
2 tudnánk a maximális m veletigényt aszimptotikusan csökkenteni? (Az edények továbbra is láncolt listák.) Mit értünk stabil rendezés alatt? Hogyan tudnánk a Edényrendezést stabil rendezéssé alakítani? 3. Adott az L egyszer láncolt lista, aminek n 0 eleme van. Minden elemének kulcsa a [0; 1) intervalumon egyenletes eloszlás szerint választott érték. Írja meg a bucketsort(l, n) utasítással meghívható egyszer edényrendezés struktogramját, AT (n) Θ(n), MT (n) Θ(n lg n) m veletigénnyel és M(n) O(n) tárigénnyel! Segédrendezésként felhasználható a megfelel, múlt félévben tanult, egyszer láncolt listákat rendez eljárás. Ezt nem kell megírni, a kód többi részét viszont teljes részletességgel kérjük Radix rendezés leszámláló rendezéssel 1.a, Mutassa be a számjegypozíciós (Radix) rendezés m ködését a következ, négyes számrendszerbeli számok tömbjén: 20; 02; 21; 01; 31; 20! Az egyes menetekben leszámláló rendezést alkalmazzon! 1.b, Mekkora a fenti rendezés aszimptotikus m veletigénye? A leszámláló rendezés mint segédprogram mely tulajdonságára épül a Radix rendezés? 2.a, Mutassuk be a számjegypozíciós (Radix) rendezés m ködését a 11; 20; 10; 23; 21; 30 négyes számrendszerbeli számok tömbjén! Az egyes menetekben leszámláló rendezést alkalmazzunk! 2.b, Mekkora a Radix rendezés m veletigénye (a tömb mérete, a számrendszer alapszáma és a számjegyek száma függvényében)? 2.c, A leszámláló rendezés mint segédprogram mely tulajdonságára épül a Radix rendezés? Mit jelent ez a tulajdonság? 1.3. Radix rendezés edényekkel 1.a, Mutassuk be a számjegypozíciós (Radix) rendezés m ködését a 31; 20; 11; 23; 21; 10 négyes számrendszerbeli számok listáján! Az egyes menetekben a megfelel számjegy szerinti, edényekbe való szétosztást, majd az edények tartalmának összef zését alkalmazzuk! 1.b, Mekkora a felhasznált adott számjegy szerinti rendezés, és a ráépül Radix rendezés m veletigénye? 1.c, A felhasznált rendezés mint segédprogram mely tulajdonságára épül a Radix rendezés? 2. Oldjuk meg az el z feladatot a < 11; 20; 10; 23; 21; 30 > input listával! 2
3 2. Hasító táblák 2.1. Ütközés feloldása láncolással 1. A T [0..m 1] hasító tábla rései kétirányú, nemciklikus, fejelem nélküli, rendezetlen láncolt listák pointerei. Adott a k mod m hasító függvény. A kulcsütközéseket láncolással oldjuk fel. Mindegyik kulcs csak egyszer szerepelhet T -ben. 1.a, Írjuk meg az ins(t [], m, k, a):0..2 érték függvényt, ami beszúrja a hasító táblába a (k, a) kulcs-adat párt! Ha a táblában már volt k kulcsú elem, a beszúrás meghiúsul, és a 2 hibakódot adja vissza. Különben, ha nem tudja már a szükséges listaelemet allokálni, az 1 hibakódot adja vissza. (Feltesszük, hogy a new m velet, ha sikertelen, akkor pointert ad vissza.) Az ins() m velet akkor ad vissza 0 kódot, ha sikeres volt a beszúrás. Ilyenkor az új listaelemet a megfelel lista elejére szúrja be. 1.b, Mi a kitöltöttségi hányados? Milyen aszimptotikus becslést tud adni a fenti m velet minimális, átlagos és maximális futási idejére? Miért? 2. A T [0..m 1] hasító tábla rései kétirányú, nemciklikus, fejelem nélküli, rendezetlen láncolt listák pointerei. Adott a k mod m hasító függvény. A kulcsütközéseket láncolással oldjuk fel. Mindegyik kulcs csak egyszer szerepelhet T -ben. (2.a) Írjuk meg a search(t [], m, k) függvényt, ami visszaadja a T -beli, k kulcsú listaelem címét, vagy a pointert, ha ilyen nincs! (2.b) Írjuk meg a del(t [], m, p) függvényt, ami törli a T hasító táblából (és deallokálja is) a p pointer által mutatott listaelemet! (2.c) Mi a kitöltöttségi hányados? Milyen aszimptotikus becslést tudunk adni a fenti m veletek minimális, átlagos és maximális futási idejére? Miért? 2.2. Nyílt címzés 1. A T [0..(m 1)] hasító táblában a kulcsütközést nyílt címzéssel oldjuk fel. 1.a, Mit értünk kitöltöttségi hányados, próbasorozat és egyenletes hasítás alatt? Mit tudunk a keresés és a beszúrás során a próbák várható számáról? 1.b, Mekkora egy sikertelen keresés várható hossza 80%-os kitöltöttség esetén, ha nincs törölt rés? Egy sikeres keresésé ennél több vagy kevesebb? Miért? 1.c, Legyen most m = 11, h (k) = k mod m, és alkalmazzon lineáris próbát! Az alábbi m veletek mindegyikére adja meg a próbasorozatot... alakban! Szúrja be a táblába sorban a következ kulcsokat: 10; 22; 31; 4; 15; 28; 16; 26; 62; ezután törölje a 16-ot, majd próbálja megkeresni a 27-et és a 62-t, végül pedig szúrja be a 27-et! Szemléltesse a hasító tábla változásait is, a törlés m veletét l kezd d en! 2. A T [0..m 1] hasító táblában a kulcsütközést nyílt címzéssel oldjuk fel. 3
4 2.a, Mit értünk kitöltöttségi hányados és egyenletes hasítás alatt? Mit tudunk a keresés és a beszúrás során a próbák várható számáról? 2.b, Mekkora egy sikertelen keresés várható hossza 90%-os kitöltöttség esetén, ha nincs törölt rés? Egy sikeres keresésé ennél több vagy kevesebb? Miért? 2.c, Legyen most m = 8, (az egyszer ség kedvéért) h (k) = k mod m, és alkalmazzunk négyzetes próbát a szokásos c 1 = c 2 = 1/2 konstansokkal! Az alábbi m veletek mindegyikére adja meg a próbasorozatát... alakban! Szemléltesse a hasító tábla változásait is! Szúrja be a táblába sorban a következ kulcsokat: 22; 31; 4; 28; 15; 14; 30; ezután törölje a 14-et, majd próbálja megkeresni a 38-at és a 30-at, végül pedig szúrja be a 27-et! 3.a, Adott egy m = 7 méret, üres hasító tábla. Nyílt címzést és kett s hasítást alkalmazunk a h 1 (k) = k mod m, h 2 (k) = 1 + (k mod (m 2)) tördel függvények segítségével. A tábla nem tartalmazhat duplikált kulcsokat. Az alábbi m veletek mindegyikére adja meg a próbasorozatot... alakban, és a hasító táblát is rajzolja újra, valahányszor egy m velet egy nemüres rés státuszát változtatja meg (b-beszúrás, k-keresés, t-törlés): b37, b45, b19, b72, b33, t19, k12, b33, t33, b33. 3.b, Magyarázza meg, mi a szerepe nyílt címzés esetén a foglalt, az üres és a törölt réseknek, a beszúrás, a keresés és a törlés során! 3.c, Mi a kitöltöttségi hányados? Milyen becslést tudunk adni az egyes m veletigényekre, és milyen feltétellel? 4. Adott egy m = 11 méret üres hasító tábla. Nyílt címzést és kett s hasítást alkalmazunk a h 1 (k) = k mod m és a h 2 (k) = 1+(k mod (m 1)) tördel függvények segítségével. 4.a, Az alábbi m veletek mindegyikére adja meg a próbasorozatát... alakban! Szemléltesse a hasító tábla változásait is! Szúrja be a táblába sorban a következ kulcsokat: 12; 17; 23; 105. Ezután törölje a 23-at, majd próbálja megkeresni a 133-at, végül pedig szúrja be a 133-at! 4.b, Magyarázza meg, mi a különbség nyílt címzés esetén a foglalt, az üres és a törölt rések között, az alkalmazható m veletek szempontjából! 3. Gráfalgoritmusok 3.1. Gráfreprezentációk 1. A C[1..n, 1..n] : 0..1 mátrix egy irányított gráf szomszédossági csúcsmátrixos ábrázolása. Írja meg a transzformál(c[,], n, G[]) eljárást, ami el állítja a G[1..n] gráfot, ami a C[1..n, 1..n] mátrixszal reprezentált gráf éllistás reprezentációja! Az éllisták egyszer láncolt listák (fejelem nélküli, nemciklikus, egyirányú listák) legyenek! T (n) Θ(n 2 ). 4
5 2. A G[1..n] egy irányított gráf szomszédossági éllistás ábrázolása. Írja meg a transzponál(g[], n, GT []) eljárást, ami el állítja a GT [1..n] gráfot, ami a G[1..n] gráf transzponáltjának éllistás reprezentációja! Az éllisták egyszer láncolt listák (fejelem nélküli, nemciklikus, egyirányú listák). T (n, e) Θ(n + e), ahol e a gráf éleinek száma. 3. G[1..n] egy irányított gráf szomszédossági éllistás ábrázolása. A G[i] éllisták egyszer láncolt listák (fejelem nélküli, egyirányú, nemciklikus listák). Adja meg a listaelem típus leírását! Írja meg a kibefokok(g[], n, be[], ki[]) eljárást, ami minden u 1..n csúcsra a be[u]-ban kiszámítja a csúcs bemeneti fokszámát, ki[u]-ban pedig a kimeneti fokszámát! T (n, e) Θ(n + e), ahol e a gráf éleinek száma Szélességi keresés 1.a, Mit számol ki a Szélességi gráfkeresés? 1.b, Adja meg az algoritmus absztrakt struktogramját! 1.c, A Szélességi gráfkeresés a gráf mely csúcsaiba talál optimális utat, és a végrehajtás során mikor? 1.d, Mit tud a Szélességi gráfkeresés m veletigényér l? (Indokolja is az állítást!) 1.e, Szemléltesse az algoritmust az a csúcsból indítva, az a b ; d. b c ; d. c e. d e. irányítatlan gráfon! 1 Rajzolja le az eredményül adódó szélességi fát is! 3.3. Mélységi keresés és topologikus rendezés 1.a, Mit értünk egy irányított gráf csúcsainak topologikus rendezése alatt? Mondja ki és bizonyítsa be az ezzel kapcsolatos tételt! 1.b, Mutassa be az alábbi gráf 2 csúcsai topologikus rendezésének a gráf mélységi bejárására épül algoritmusát! (Az algoritmus szemléltetése során a nemdeterminisztikus esetekben mindig az alfabetikusan kisebb index csúcsot részesítse el nyben!) 1.c, Módosítsa egyetlen él behúzásával úgy a gráfot, hogy ne legyen topologikus rendezése! A módosított gráfnak miért nincs topologikus rendezése? Mikor derül ez ki a fent szemléltetett algoritmus végrehajtása során? 1.d, Mit tud a mélységi bejárásra épül topologikus rendezés m veletigényér l? (Indokolja is az állítást!) a b; d. b c; d. c e. d e. f c; e. 2.a, Rajzolja le a Mélységi gráfkeresés absztrakt struktogramját! Mit tud a 1 u v 1 ;... v k. azt jelenti, hogy az irányítatlan gráfban az u csúcs u-nál nagyobb index szomszédai v 1,... v k. (Ezzel a jelöléssel a gráf minden élét csak egyszer tüntetjük fel.) 2 u v 1 ;... v k. azt jelenti, hogy az u csúcs közvetlen rákövetkez i v 1,... v k. 5
6 m veletigényér l? (Indokolja is az állítást!) 2.b, Adja meg az éltípusok denícióját és mondja ki az osztályozásukkal kapcsolatos tételt! 2.c, Szemléltesse a Mélységi keresést az alábbi irányított gráfon 3 úgy, hogy nemdeterminisztikus esetekben mindig a kisebb index csúcsot részesítse el nyben! Jelölje a bejárás során a különböz éltípusokat is! a b ; d. b c ; d. c e. d e. e b. f c ; e Minimális feszít fák Kruskal algoritmusa 1.a, Mit számol ki a Kruskal algoritmus? 1.b, Szemléltesse a m ködését az alábbi gráfon! 4 (Elég az él feszít erd párosok sorozatát megadni.) 1.c, Mondja ki a biztonságos élekr l és a minimális feszít fákról szóló tételt! Deniálja a tételben szerepl vágás és könny él fogalmakat! 1.d, Hogyan következik a Kruskal algoritmus helyessége ebb l a tételb l? 1.e, Mekkora az algoritmusnak az el adásról ismert m veletigénye, és milyen feltételekkel? a b, 0 ; d, 1. b c, 5 ; d, 2 ; e, 3. d e, 4. 2.a, Mit számol ki a Kruskal algoritmus? 2.b, Szemléltesse a m ködését az a b, 3 ; d, 1. b c, 5 ; d, 2 ; e, 3. c e, 4. d e, 0. gráfon! 5 (Elég az él feszít erd párosok sorozatát megadni.) 2.c, Adja meg a f eljárás struktogramját! Magyarázza el a segédeljárások és a segédfüggvény m ködését! 2.d, Mekkora az algoritmus m veletigénye? Miért? Prim algoritmusa 1.a, Mit számol ki a Prim algoritmus? Deniálja a súlyozott szomszédossági csúcsmátrix fogalmát! 1.b, Csak tömb adatszerkezeteket használva adja meg a Prim(C[1..n, 1..n], r, d[1..n], π[1..n]) eljárás struktogramját, ahol a gráfot a C súlyozott szomszédossági csúcsmátrix segítségével ábrázoltuk, és a fa építése az r csúcsból indul. A segédeljárásokat is részletezze! Az eredményt, a csúcsok d és a π értékeit a megfelel vektorokban kapjuk. T (n) O(n 2 ), M(n) O(n) 2.a, Mit számol ki a Prim algoritmus? 2.b, Szemléltesse a m ködését az a b, 0 ; d, 1. b c, 5 ; d, 2 ; e, 3. c e, 2. d e, 2. 3 u v 1 ;... v k. azt jelenti, hogy az u csúcs közvetlen rákövetkez i v 1,... v k. 4 u v 1, w 1 ;... v k, w k. azt jelenti, hogy a gráfban az u csúcs u-nál nagyobb index szomszédai v 1,... v k, és a megfelel irányítatlan élek súlyai sorban w 1,... w k. 5 u v 1, w 1 ;... v k, w k. azt jelenti, hogy a gráfban az u csúcs u-nál nagyobb index szomszédai v 1,... v k, és a megfelel irányítatlan élek súlyai sorban w 1,... w k. 6
7 irányítatlan gráfon, a d csúcsból indítva! 6. 2.c, Mondja ki a biztonságos élekr l és a minimális feszít fákról szóló tételt! Deniálja a tételben szerepl vágás és könny él fogalmakat! Hogyan következik a Prim algoritmus helyessége ebb l a tételb l? 2.d, Mekkora az algoritmusnak az el adásról ismert m veletigénye, és milyen feltételekkel? 3.5. Legrövidebb utak egy forrásból Legrövidebb út kiírása 1. A Dijkstra algoritmus eredményeképpen megkaptuk a d[] és a π[] tömböket, amik a gráf csúcsainak d és π értékeit tartalmazzák. Írjuk meg az útkiíró(d[], π[], v) rekurzív függvényt, ami a d[v] értékkel tér vissza, és kiírja a start csúcsból a v csúcsba vezet optimális utat a következ formátumban: Az úton tetsz leges x csúcs x:d alakban jelenik meg, ahol d az x csúcs d-értéke. Minden él --w--> alakban jelenik meg, ahol w az él súlya. Adott ehhez a kiír(y) eljárás, ami tetsz leges y paramétert kiír. Ha például a gráfnak három csúcsa van, d[1..3] = 4; 9; 0 és π[1..3] = 3; 1; 0, akkor a startcsúcsból a 2 index csúcsba vezet optimális út a következ alakban jelenjen meg: 3:0--4-->1:4--5-->2: Sor-alapú Bellman-Ford algoritmus 1.a, Mit számol ki a Sor alapú (Queue-based) Bellman-Ford algoritmus? Adja meg a struktogramját! 1.b, Mit értünk a fenti program futásának menetei alatt? Mi a menetekhez kapcsolódó alapvet tulajdonság? 1.c, Adjon az algoritmus m veletigényére aszimptotikus fels becslést, és indokolja is állítását! 1.d, Honnét ismerhet fel, hogy van-e a gráfban a startcsúcsból elérhet negatív kör? Hogyan lokalizálható egy ilyen negatív kör? 1.e, Szemléltesse az algoritmus m ködését az alábbi gráfon, a b csúcsból indítva! 7 b c, 2 ; e, 4. c d, -1 ; e, 1. d b, -1 ; e, 2 ; f, 2. e f, DAG lerövidebb utak egy forrásból 1.a, Írja le röviden, szóban vagy struktogrammal, azt a tanult algoritmust, mellyel irányított, súlyozott, körmentes gráfokra a leghatékonyabb módon határozhatjuk meg a start csúcsból a többi csúcsba vezet legrövidebb 6 u v 1, w 1 ;... v k, w k. azt jelenti, hogy a gráfban az u csúcs u-nál nagyobb index szomszédai v 1,... v k, és a megfelel irányítatlan élek súlyai w 1 = w(u, v 1 ),... w k = w(u, v k ). (Ezzel a jelöléssel minden élet csak egyszer tüntetünk fel.) 7 u v 1, w 1 ;... v k, w k. azt jelenti, hogy a gráfban az u csúcs közvetlen rákövetkez i v 1,... v k, és a megfelel irányított élek súlyai sorban w 1,... w k. 7
8 utak fáját! (Negatív élköltségek is megengedettek.) 1.b, Mekkora a m veletigénye? Miért? 1.c, Szemléltesse a m ködését az alábbi gráfon, 8 ahol a csúcsok topologikus rendezése a,b,c,d,e,f, és a b a startcsúcs! A legrövidebb utak fáját rajzolja is le! a d, 2; f, 3. b c, 2; e, 4. c d, -1; e, 1. d e, 2; f, 2. e f, Dijkstra algoritmusa 1.a, Mit számol ki a Dijkstra algoritmus? Mekkora a m veletigénye n csúcsú gráf esetén, ha a prioritásos sort rendezetlen tömbbel reprezentáljuk? Miért? 1.b, Szemléltesse a m ködését az alábbi irányítatlan gráfon az a csúcsból indítva, az el adásról ismert módon! 9. Rajzolja le a legrövidebb utak fáját is, ami az eredményb l adódik! a b, 2; c, 1; d, 4. b d, 0. c d, 2; e, 2. d e, 1. e. 2.a, Mit számol ki a Dijkstra algoritmus? Adja meg a struktogramját! 2.b, Mit értünk a gráfok élsúlyozott szomszédossági listás ábrázolása alatt? Mekkora az algoritmus futási ideje az el bbi gráfreprezentáció és a prioritásos sor bináris kupaccal való megvalósítása esetén? Miért? 2.c, Milyen állítás igaz, amikor egy tetsz leges csúcsot kiválasztunk kiterjesztésre? Miért? 3.6. Legrövidebb utak minden csúcspárra 1.a, Mit számol ki a Floyd-Warshall algoritmus? Mekkora a m veletigénye n csúcsú gráf esetén? Miért? 1.b, Szemléltessük a m ködését az alábbi irányított gráfon a (D (0), Π (0) ),..., (D (3), Π (3) ) mátrix párok megadásával! c, Rajzoljuk le a legrövidebb utak fáit, amiket az eredményb l kiolvashatunk! 1 3, , 0 ; 3, , 1 ; 2, G[1..n] egy irányított, élsúlyozott, egyszer gráf szomszédossági éllistás ábrázolása. A G[i] éllisták egyszer láncolt listák. Írjuk meg az FWinit(G[1..n], D[1..n, 1..n], Π[1..n, 1..n]) eljárást, ami G[1..n] szerint a Floyd-Warshall algoritmus (D (0), Π (0) ) mátrix-párjának megfelel en inicializálja az eljárás D és Π paramétereit! T (n) Θ(n 2 ). 8 u v 1, w 1 ;... v k, w k. azt jelenti, hogy a gráfban az u csúcs közvetlen rákövetkez i v 1,... v k ; sorban w 1,... w k súlyokkal. 9 u v 1, w 1 ;... v k, w k. azt jelenti, hogy a gráfban az u csúcs u-nál nagyobb index szomszédai v 1,... v k, és a megfelel irányítatlan élek súlyai sorban w 1,... w k. 10 Az u v 1, w 1 ;... v k, w k. formula azt jelenti, hogy a gráf u csúcsából kivezet élek (u, v 1 ),... (u, v k ), sorban w 1 = w(u, v 1 ),... w k = w(u, v k ) súlyokkal. 8
9 3.a, Mit számol ki a Floyd-Warshall algoritmus? 3.b, Tegyük fel, hogy a gráfnak n csúcsa van! Mi a (D (k), Π (k) ) : k 0..n mátrix-pár sorozat deníciója? Mi a rekurzív képlete? 3.c, Adja meg az algoritmus struktogramját! Mekkora a m veletigénye n csúcsú gráf esetén? 3.d, Miért elegend egyetlen (D, Π) mátrix-pár a programban? 4.a, Mit számol ki a Floyd-Warshall algoritmus? 4.b, Mekkora a m veletigénye n csúcsú gráf esetén? Miért? 4.c, Szemléltesse a m ködését az alábbi irányítatlan gráfon a (D (0), Π (0) ),..., (D (4), Π (4) ) mátrix párok megadásával! d, Melyik az alábbi gráf legkisebb részgráfja, ami az összes optimális utat tartalmazza? 1 2, 3; 3, 1; 4, , , Irányított gráf tranzitív lezártja 1.a, Mit jelent egy gráf tranzitív lezártja, amit Warshall algoritmusa számol ki? 1.b, Tegyük fel, hogy a gráfnak n csúcsa van! Mi a T (k) : k 0..n mátrix sorozat deníciója? Mi a rekurzív képlete? 1.c, Adja meg az algoritmus struktogramját! Mekkora a m veletigénye n csúcsú gráf esetén? Miért elegend egyetlen T mátrix a programban? 1.d, Mutassa be az algoritmus m ködését a ; 4. irányított gráfon! 4. Sztring keresés (Mintaillesztés) 4.1. Quick-search 1.a, Mit számol ki a Quick Search algoritmus? 1.b, Mi az el nye, illetve hátránya a naiv mintailleszt algoritmussal összehasonlítva? 1.c, Mutassa be a Quick Search algoritmus (a) el készít eljárásának m ködését az {A, B, C, D} ábécé-vel az ABACABA mintán, és 1.d, e mintát illeszt eljárását az ABABACABACABADABACABABA szövegen! 1.e, Mekkora az egyes eljárások aszimptotikus m veletigénye? 2.a, Mit számol ki a Quick Search algoritmus? 2.b, Mi az el nye, illetve hátránya m veletigény szempontjából a KMP algoritmussal összehasonlítva? 2.c, Mutassa be a Quick Search algoritmus el készít eljárásának m ködését az {A, B, C, D} ábécé-vel az ADABABA mintán, és 2.d, e mintát illeszt eljárását az ADABACACACABADABABADABABA szövegen! 2.e, Mekkora az egyes eljárások aszimptotikus m veletigénye? 11 u v 1, w 1 ;... v k, w k. azt jelenti, hogy a gráfban az u csúcs u-nál nagyobb index szomszédai v 1,... v k, és a megfelel irányítatlan élek súlyai sorban w 1,... w k. 9
10 4.2. Knuth-Morris-Pratt (KMP) 1.a, Deniálja a KMP algoritmusban a keresett P [1..m] mintához tartozó next függvényt (nem a struktogramot)! Adja meg a next függvény három alapvet tulajdonságát, és kett t bizonyítson is be! 1.b, Adja meg a next függvényt a deníciója alapján a BABAABAB mintán! 1.c, Szemléltesse a KMP algoritmus m ködését, ahogy a fenti minta el fordulásait keresi az ABABABAABABAABABABAABABBABA szövegben! 2.a, Deniálja a KMP algoritmus next függvényét (nem a struktogramot), majd adja meg az ABABADA mintán! 2.b, Szemléltesse KMP algoritmussal e minta el fordulásainak keresését az ABABADABABADABABABADABADABA szövegben! 2.c, Mi a next függvény szerepe a keresés során? 2.d, Mi a KMP algoritmus el nye, illetve hátránya m veletigény szempontjából a Quick-search mintailleszt algoritmussal összehasonlítva? 3.a, Milyen feladatot old meg a Knuth-Morris-Pratt (KMP) algoritmus? 3.b, Deniálja a next függvényt (nem a struktogramot), majd adja meg a BABABAB mintán! 3.c, Szemléltesse KMP algoritmussal e minta el fordulásainak keresését a BABBABABABABBABABABAAB szövegben! 3.d, Mi a next függvény szerepe a keresés során? 3.e, Mi a KMP algoritmus el nye, illetve hátránya a Quick-search mintailleszt algoritmussal összehasonlítva? 4.a, Milyen feladatot old meg a Knuth-Morris-Pratt (KMP) algoritmus? 4.b, Szemléltessük a KMP algoritmus init(next...) eljárásának m ködését az ABACABA mintán és 4.c, e mintát illeszt eljárását az ABABACABACABABACABABA szövegen! 4.d, Mekkora az egyes eljárások m veletigénye? 4.e, Mi KMP algoritmus el nye, illetve hátránya a Quick-search mintailleszt algoritmussal összehasonlítva? 5. Tömörítés 5.1. Human kód 1.a, Szemléltesse a Human kódolás m ködését az ÁBRÁBANÁBRA szövegen! Adja meg a kódfát és a szótárat! Mekkora a Human kódolással tömörített kód hossza? 1.b., Mekkora lenne a tömörített kód x hosszú karakterkódok esetén? 1.c, Hogyan dekódolható egy Human kóddal tömörített szöveg? 1.d, Milyen értelemben optimális a Human kód? Azt jelenti-e ez, hogy a Human kódolás a lehet legjobb tömörítés? Miért? 10
11 2.a, Az ELEVEJELESRERENDELVE szövegen szemléltessük a Human kódolás m ködését! Adjuk meg a kódfát és a szótárat! 2.b, Mekkora a Human kódolással tömörített kód hossza? 2.c, Mekkora lenne a tömörített kód x hosszú karakterkódok esetén? 2.d, Hogyan dekódolható egy Human kóddal tömörített szöveg? 2.e, Milyen értelemben optimális a Human kód? Azt jelenti-e ez, hogy a Human kódolás a lehet legjobb tömörítés? Miért? 5.2. LZW tömörítés 1.a, Adott az {A, B, C} ábécé. Szemléltesse a LempelZivWelch (LZW) tömörít algoritmus m ködését a CBABABABCBABABAB szövegen, majd a megfelel kitömörít algoritmusét az 1, 2, 3, 4, 6, 5, 9, 7, 11 kódon! Mindkét esetben adja meg a generált szótárat, és a tömörítetlen szövegen a részszavak és a kódok megfeleltetését! 1.b, Hogyan kezeli a kitömörít algoritmus azt az esetet, amikor nem találja meg a szótárban az aktuális kódhoz tartozó sztringet? 2.a, Az {A, B} ábécével szemléltesse a LempelZivWelch (LZW) tömörít algoritmus m ködését az ABABABABA szövegen, majd a megfelel kitömörít algoritmusét az 1, 2, 2, 3, 6, 4, 7 kódon! Mindkét esetben adja meg a generált szótárat, és a tömörítetlen szövegen a részszavak és a kódok megfeleltetését! 2.b, Milyen értelemben optimális a Human kód? Hogyan lehetséges, hogy az LZW algoritmus a gyakorlatban gyorsabban és jobban tömörít? 11
Algoritmusok és adatszerkezetek I. régebbi vizsgakérdések.
Algoritmusok és adatszerkezetek I. régebbi vizsgakérdések. Ásványi Tibor asvanyi@inf.elte.hu 2019. június 22. A vizsgákon természetesen olyan kérdések is szerepelhetnek, amelyek a régebbi vizsgákon nem
Algoritmusok II. gyakorló feladatok
Algoritmusok II. gyakorló feladatok Ásványi Tibor 2019. március 15. Mj.: Az alábbi anyagban M S az algoritmusok maximális munkatárigényére vonatkozik. Ez nem tartalmazza az input
Algoritmusok II. gyakorló feladatok (2016)
Algoritmusok II. gyakorló feladatok (2016) Rendezés lineáris id ben 1.1. Rendezzük számjegypozíciós listarendezéssel a 013, 200, 010, 321, 213, 201 négyes számrendszerbeli számok egyszer láncolt listáját!
Algoritmusok és adatszerkezetek II. Útmutatások a tanuláshoz, Tematika (2016)
Algoritmusok és adatszerkezetek II. Útmutatások a tanuláshoz, Tematika (2016) Kedves Hallgatók! A vizsgára való készülésben els sorban az el adásokon és a gyakorlatokon készített jegyzeteikre támaszkodhatnak.
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
26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA
26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA Az előző két fejezetben tárgyalt feladat általánosításaként a gráfban található összes csúcspárra szeretnénk meghatározni a legkisebb költségű utat. A probléma
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
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
Gráfalgoritmusok ismétlés ősz
Gráfalgoritmusok ismétlés 2017. ősz Gráfok ábrázolása Egy G = (V, E) gráf ábrázolására alapvetően két módszert szoktak használni: szomszédsági listákat, illetve szomszédsági mátrixot. A G = (V, E) gráf
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
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
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ú
1. tétel - Gráfok alapfogalmai
1. tétel - Gráfok alapfogalmai 1. irányítatlan gráf fogalma A G (irányítatlan) gráf egy (Φ, E, V) hátmas, ahol E az élek halmaza, V a csúcsok (pontok) halmaza, Φ: E {V-beli rendezetlen párok} illeszkedési
Algoritmuselmélet 7. előadás
Algoritmuselmélet 7. 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 11. ALGORITMUSELMÉLET 7. ELŐADÁS 1 Múltkori
Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.
Algoritmuselmélet Gráfok megadása, szélességi bejárás, összefüggőség, párosítás Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 2. előadás
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
Algoritmusok és adatszerkezetek II. kidolgozott vizsgakérdések
Algoritmusok és adatszerkezetek II. kidolgozott vizsgakérdések 2013/2014-es tanév 2. félév 1.) a. Adott a háromjegyű bináris számok következő sorozata: 010, 101, 011, 110, 000, 001, 100. Rendezzük a számokat
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,...,
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
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
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
Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz
Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz A vizsga menete: a vizsga írásbeli és szóbeli részből áll. Az írásbeli beugrón az alábbi kérdések közül szerepel összesen 12 darab, mindegyik egy pontot
Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.
Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb
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
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
. 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. Általános tudnivalók
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
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
24. MINIMÁLIS KÖLTSÉGŰ UTAK I.
24. MINIMÁLIS KÖLTSÉGŰ UTAK I. Az útvonaltervezés az egyik leggyakrabban végrehajtott eljárása a gráfok alkalmazásai körében. A feladat például a közlekedésben jelentkezik. A gráfot itt az a térkép jelenti,
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)
Euler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3
Síkgráfok Kuratowski-tétel: egy gráf akkor és csak akkor síkba rajzolható gráf, ha nincs olyan részgráfja, ami a K 5 -el, vagy a K 3,3 -altopologikusan izomorf (homeomorf). Euler síkgráfokra vonatkozó
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy.
Bevezetés 1. Definíció. Az alsó egészrész függvény minden valós számhoz egy egész számot rendel hozzá, éppen azt, amely a tőle nem nagyobb egészek közül a legnagyobb. Az alsó egészrész függvény jele:,
21. Adatszerkezetek Az adattípus absztrakciós szintjei Absztrakt adattípus (ADT) Absztrakt adatszerkezet (ADS) Egyszerű adattípusok Tömbök
2. Adatszerkezetek Az adattípus absztrakciós szintjei http://people.inf.elte.hu/fekete/docs_/adt_ads.pdf Absztrakt adattípus (ADT) Az adattípust úgy specifikáljuk, hogy szerkezetére, reprezentálására,
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
Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.
Algoritmuselmélet Legrövidebb utak, Bellmann-Ford, Dijkstra Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 3. előadás Katona Gyula Y. (BME
i=1 i+3n = n(2n+1). j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes.
1. Feladat Adott egy parkoló, ahol egy professzor a kocsiját tartja. A parkolóhelyeket egy n és n közötti szám azonosítja, az azonosító szerint helyezkednek el balról jobbra. A professzor kijön az egyetemr
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,
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),
Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:
Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v) T c(u,v) Az F = (V,T) gráf minimális feszitőfája G-nek,
Gráfelméleti feladatok. c f
Gráfelméleti feladatok d e c f a b gráf, csúcsok, élek séta: a, b, c, d, e, c, a, b, f vonal: c, d, e, c, b, a út: f, b, a, e, d (walk, lanţ) (trail, lanţ simplu) (path, lanţ elementar) 1 irányított gráf,
Algoritmusok és adatszerkezetek I. el adásjegyzet
Algoritmusok és adatszerkezetek I. el adásjegyzet Ásványi Tibor asvanyi@inf.elte.hu 2019. február 10. Tartalomjegyzék 1. Bevezetés 5 2. Tematika 7 3. Néhány alapvet jelölés és elméleti háttere 8 3.1. Tömbök..............................
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
Relációk. 1. Descartes-szorzat. 2. Relációk
Relációk Descartes-szorzat. Relációk szorzata, inverze. Relációk tulajdonságai. Ekvivalenciareláció, osztályozás. Részbenrendezés, Hasse-diagram. 1. Descartes-szorzat 1. Deníció. Tetsz leges két a, b objektum
Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.
Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb
A félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
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
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
Dijkstra algoritmusa
Budapesti Fazekas és ELTE Operációkutatási Tanszék 201. július 1. Legrövidebb utak súlyozatlan esetben v 4 v 3 Feladat Hány élből áll a legrövidebb út ezen a gráfon az s és t csúcsok között? v v 6 v 7
Gráfok. Programozás II. előadás. Szénási Sándor.
Gráfok 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 Tárolási módok Szélességi bejárás Mélységi bejárás Legrövidebb
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
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
Pénzügyi matematika. Vizsgadolgozat I. RÉSZ. 1. Deniálja pontosan, mit értünk amerikai vételi opció alatt!
NÉV: NEPTUN KÓD: Pénzügyi matematika Vizsgadolgozat I. RÉSZ Az ebben a részben feltett 4 kérdés közül legalább 3-ra kell hibátlan választ adni ahhoz, hogy a vizsga sikeres lehessen. Kett vagy kevesebb
Deníciók és tételek a beugró vizsgára
Deníciók és tételek a beugró vizsgára (a szóbeli viszgázás jogáért) Utolsó módosítás: 2008. december 2. 2 Bevezetés Számítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést,
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,
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
Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).
Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a
Algoritmusok és adatszerkezetek
Algoritmusok és adatszerkezetek Feladatgyűjtemény (ideiglenes változat) Eötvös Loránd Tudományegyetem Informatikai Kar Algoritmusok és Alkalmazásaik Tanszék ktatási segédanyag az Eötvös Loránd Tudományegyetem
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
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 4. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. tavasz 1. Diszkrét matematika 2.C szakirány 1. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu Komputeralgebra Tanszék 2015. tavasz Gráfelmélet Diszkrét
Gráfelméleti feladatok programozóknak
Gráfelméleti feladatok programozóknak Nagy-György Judit 1. Lehet-e egy gráf fokszámsorozata 3, 3, 3, 3, 5, 6, 6, 6, 6, 6, 6? 2. Lehet-e egyszer gráf fokszámsorozata (a) 3, 3, 4, 4, 6? (b) 0, 1, 2, 2, 2,
A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:
A Formális nyelvek vizsga teljesítése a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12
Ö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
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
A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:
A Formális nyelvek vizsga teljesítése a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: 1. Öt rövid kérdés megválaszolása egyenként 6 pontért, melyet minimum
Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció Gráfkeresési stratégiák Szemantikus hálók
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
30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK
30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK A gráfos alkalmazások között is találkozunk olyan problémákkal, amelyeket megoldását a részekre bontott gráfon határozzuk meg, majd ezeket alkalmas módon teljes megoldássá
Diszkrét matematika 1. estis képzés
Diszkrét matematika 1. estis képzés 2019. tavasz 1. Diszkrét matematika 1. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján
Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}
Mélységi keresés Ez az algoritmus a gráf pontjait járja be, eredményképpen egy mélységi feszítőerdőt ad vissza az Apa függvény által. A pontok bejártságát színekkel kezeljük, fehér= érintetlen, szürke=meg-
23. SZÉLESSÉGI BEJÁRÁS
23. SZÉLESSÉGI BEJÁRÁS A bejárási algoritmusok feladata általában a gráf csúcsainak végiglátogatása valamilyen stratégia szerint. A bejárás gyakran azért hajtjuk végre, mert adott tulajdonságú csúcsot
Diszkrét matematika 1. estis képzés
Diszkrét matematika 1. estis képzés 2019. tavasz 1. Diszkrét matematika 1. estis képzés 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján
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
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
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
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
Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése
Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése Készítette: Bognár Gergő Témavezető: Veszprémi Anna Eötvös Loránd Tudományegyetem Informatikai Kar Algoritmusok és Alkalmazásaik Tanszék Budapest,
A számítástudomány alapjai
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 Legszélesebb utak Katona Gyula Y. (BME SZIT) A számítástudomány
Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 1. Tárolási módok, bejárások előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Gráfok 1. Tárolási módok Szélességi
Gráf-algoritmusok Legrövidebb utak
https://www.cs.princeton.edu/~rs/algsds07/15shortestpaths.pdf Gráf-algoritmusok Legrövidebb utak Sapientia-EMTE 2017-18 Typesetting in TeX Két pont között, akkor van él, ha közéjük 1 2 3 4 eső szó szekvencia
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
1. zárthelyi,
1. zárthelyi, 2010.03.2. 1. Jelölje B n azt a gráfot, melynek csúcsai az n hosszúságú 0 1 sorozatok, két sorozat akkor és csak akkor van összekötve éllel, ha pontosan egy vagy két helyen különböznek. Adjuk
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:
Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.
Algoritmuselmélet Bonyolultságelmélet Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 12. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
Mintaillesztő algoritmusok. Ölvedi Tibor OLTQAAI.ELTE
Mintaillesztő algoritmusok Ölvedi Tibor OLTQAAI.ELTE Mintaillesztő algoritmusok Amiről szó lesz: Bruteforce algoritmus Knuth-Morris-Pratt algoritmus Rabin-Karp algoritmus Boyer-Moore algoritmus Boyer-Moore-Horspool
Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.
Online algoritmusok Algoritmusok és bonyolultságuk Horváth Bálint 2018. március 30. Horváth Bálint Online algoritmusok 2018. március 30. 1 / 28 Motiváció Gyakran el fordul, hogy a bemenetet csak részenként
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
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
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
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
A gráffogalom fejlődése
A gráffogalom fejlődése ELTE Informatikai Kar, Doktori Iskola, Budapest Batthyány Lajos Gimnázium, Nagykanizsa erdosne@blg.hu a prezentáció kézirata elérhető: http://people.inf.elte.hu/szlavi/infodidact16/manuscripts/ena.pdf
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
5. A gráf, mint adatstruktúra Gráfelméleti bevezető
5. A gráf, mint adatstruktúra 5.1. Gráfelméleti bevezető Az irányított gráf (digráf) A G = ( V, rendezett párt irányított gráfnak (digráfnak) nevezzük. A rendezett pár elemeire tett kikötések: V véges
Számjegyes vagy radix rendezés
Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben
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.
file:///d:/apa/okt/ad/jegyzet/ad1/b+fa.html
1 / 6 2018.01.20. 23:23 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 tananyagának
Lineáris egyenletrendszerek
Lineáris egyenletrendszerek 1 Alapfogalmak 1 Deníció Egy m egyenletb l álló, n-ismeretlenes lineáris egyenletrendszer általános alakja: a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a
Algoritmusok és adatszerkezetek I. el adásjegyzet
Algoritmusok és adatszerkezetek I. el adásjegyzet Ásványi Tibor asvanyi@inf.elte.hu 2018. október 27. Tartalomjegyzék 1. Bevezetés 4 2. Tematika 6 3. Néhány alapvet jelölés és elméleti háttere 7 3.1. Tömbök..............................
2. Visszalépéses keresés
2. Visszalépéses keresés Visszalépéses keresés A visszalépéses keresés egy olyan KR, amely globális munkaterülete: egy út a startcsúcsból az aktuális csúcsba (az útról leágazó még ki nem próbált élekkel