11.07.2015 Views

Algoritmusok és adatszerkezetek II. gyakorló feladatok

Algoritmusok és adatszerkezetek II. gyakorló feladatok

Algoritmusok és adatszerkezetek II. gyakorló feladatok

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Algoritmusok</strong> <strong>és</strong> <strong>adatszerkezetek</strong> <strong>II</strong>. <strong>gyakorló</strong> <strong>feladatok</strong>Fábián András2012. március 5.1. Keresőfák1.1. Bináris keresőfákÉpíts bináris keresőfát a következő számokból:a) 5, 1, 2, 10, 6, 11, 18, 0, 9, 14, 20, 17, 7, 3, 15b) 35, 38, 36, 27, 31, 37, 29, 23, 24, 30, 34, 28, 40, 33, 26c) 51, 40, 56, 42, 45, 54, 41, 55, 58, 48, 47, 60, 43, 57, 44d) 77, 74, 76, 83, 81, 61, 99, 78, 72, 85, 80, 84, 62, 88, 68A megadott sorrendben töröld a kapott fából a következő értékeket:(a) 10, 5, 11(b) 27, 29, 35(c) 51, 45, 55(d) 77, 61, 991.2. Rendezett–minta fákÉpíts rendezett-minta fát a következő számokból (<strong>és</strong> határozd meg a kieg<strong>és</strong>zítő információkat):(a) 67, 82, 37, 85, 45, 72, 74, 95, 65, 41, 27, 83, 30, 31, 6(b) 29, 31, 35, 76, 30, 1, 86, 54, 14, 19, 22, 53, 2, 91, 87(c) 92, 71, 61, 3, 6, 12, 82, 42, 72, 30, 22, 44, 24, 86, 2(d) 29, 66, 34, 96, 31, 92, 28, 94, 12, 62, 90, 52, 53, 10, 80(e) 82, 77, 100, 3, 89, 72, 86, 12, 5, 36, 40, 32, 26, 35, 50Határozd meg a következő elemek rangját a tanult algoritmus szerint:(a) 45, 72, 41, 30(b) 29, 30, 19, 53(c) 61, 3, 42, 44(d) 96, 28, 62, 10(e) 82, 89, 12, 32Töröld az adott rangú elemeket a fából, <strong>és</strong> számítsd ki a kapott fa kieg<strong>és</strong>zítő információit (mindig atörl<strong>és</strong> után kapott fával dolgozz tovább):1


(a) 4, 7, 2(b) 2, 9, 3(c) 7, 5, 11(d) 13, 8, 3(e) 6, 10, 61.3. Intervallum fákÉpíts intervallum fát a következő (zárt) intervallumokból (<strong>és</strong> határozd meg a kieg<strong>és</strong>zítő információkat):(a) (13, 39), (29, 36), (35, 38), (3, 44), (14, 39), (2, 49), (40, 50), (15, 18), (7, 25), (13, 24)(b) (28, 30), (7, 35), (14, 31), (36, 42), (17, 41), (11, 23), (22, 41), (8, 46), (29, 46), (19, 29)(c) (15, 31), (24, 45), (3, 4), (22, 31), (17, 20), (23, 47), (5, 13), (33, 43), (29, 44), (14, 21)(d) (45, 46), (28, 31), (5, 10), (17, 42), (19, 26), (29, 49), (15, 49), (33, 41), (24, 39), (5, 42)(e) (25, 31), (20, 50), (19, 33), (7, 44), (13, 35), (1, 25), (30, 37), (36, 45), (18, 30), (1, 12)A tanult algoritmussal határozd meg, hogy van-e átfedő intervallum a következőkkel, <strong>és</strong> ha van, adj megegyet:(a) (3, 6), (11, 12), (40, 48)(b) (1, 7), (48, 49), (24, 39)(c) (2, 7), (32, 32), (29, 43)(d) (11, 18), (1, 4), (37, 49)(e) (2, 9), (48, 49), (17, 34)Töröld a fából a következő intervallumokat (<strong>és</strong> határozd meg a kieg<strong>és</strong>zítő információkat):(a) (13, 39), (2, 49), (7, 25)(b) (7, 35), (17, 41), (8, 46)(c) (15, 31), (23, 47), (29, 44)(d) (5, 10), (17, 42), (5, 42)(e) (20, 50), (7, 44), (1, 25)1.4. AVL fákÉpíts AVL fát a következő számokból:(a) 85, 94, 95, 25, 72, 76, 64, 62, 81, 32, 63, 21, 9, 77, 98(b) 63, 58, 11, 67, 53, 71, 24, 49, 5, 17, 7, 15, 46, 28, 13(c) 25, 55, 50, 31, 10, 76, 29, 32, 6, 63, 18, 34, 44, 70, 74(d) 31, 73, 17, 28, 62, 16, 23, 27, 15, 88, 21, 72, 92, 49, 4(e) 57, 72, 84, 50, 55, 49, 13, 18, 20, 75, 22, 48, 91, 38, 78Töröld a kapott fából a következő értékeket:(a) 32, 85, 72, 81, 77, 94, 762


(b) 13, 63, 67, 7, 5, 11, 15(c) 32, 18, 29, 55, 25, 44, 31(d) 49, 21, 23, 16, 72, 73, 88(e) 57, 78, 72, 50, 91, 55, 841.5. B–fákÉpíts 2–rendű B–fát a következő számokból:(a) 23, 64, 11, 87, 55, 10, 99, 44, 50(b) 74, 23, 94, 34, 7, 88, 40, 67, 3(c) 54, 58, 92, 22, 84, 11, 63, 74, 17, 20, 34, 39, 36, 99, 12, 13, 14Töröld a kapott fából a következő értékeket:(a) 44, 10, 64, 11, 99(b) 88, 3, 7, 40, 94(c) 36, 92, 11, 22, 99, 17, 391. nagy ZH1. feladat. Adj meg egy minimális elemszámú 6 magasságú AVL–fát, majd töröld belőle az egyikminimális mélységű levelet a tanultak szerint! (Minden forgatás eredményét rajzold fel!)2. feladat. A következő számsorozatok közül melyik nem lehet egy bináris keresőfában való keres<strong>és</strong>által vizsgált pontok kulcsainak sorozata, <strong>és</strong> miért? Ha egy sorozat lehetséges, adj meg hozzá egymegfelelő 4 magasságú, 8 elemű bináris keresőfát!a. 51, 32, 44, 45b. 34, 45, 20, 24c. 75, 44, 22, 31d. 33, 66, 64, 653. feladat. Hány szám szerepelhet legfeljebb egy 2–rendű, 3 magas B–fában, ha tudjuk, hogy vanolyan kulcs, amelynek törl<strong>és</strong>e esetén két összevonást is kell végezni? Hogyan lehetséges ez?4. feladat. Írd meg a BalraForgat(x) algoritmust (apa, balfiú, testvér) ábrázolás esetén!5. feladat. Bináris keresőfában szeretnénk intervallumokat tárolni úgy, hogy hatékonyan meghatározhassukaz inorder bejárás szerinti k-adik intervallumot, illetve egy adott intervallum inorder bejárásszerinti sorrendjét. Add meg az adatszerkezetet! Adj algoritmust a kieg<strong>és</strong>zítő információk számítására,átfedő halmaz keres<strong>és</strong>ére, a k-adik elem, <strong>és</strong> az x elem rangjának meghatározására! Mi változna, ha azAVL tulajdonságot is megkövetelnénk?3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!