• Nem Talált Eredményt

3. Legr¨ ovidebb utak

N/A
N/A
Protected

Academic year: 2022

Ossza meg "3. Legr¨ ovidebb utak"

Copied!
41
0
0

Teljes szövegt

(1)

Varr´o Gergely gervarro@cs.bme.hu 2009. december 7.

1. Nagys´ agrendek, rekurzi´ o

1. 2/2: Bizony´ıtsuk be, hogy

(a) f(x) =akxk+ak−1xk−1+· · ·+a0 (ak 6= 0) eset´en f(n) = Θ(nk) (b) 2n+1=O(2n), de 22n6=O(2n).

2. Igaz-e, hogyn=O(n2)?

3. Igaz-e, hogynk =O(cn) (k≥1, c >1)?

4. Igaz-e, hogy 2n=O(2n/2)?

5. Igaz-e, hogy√

n=O(nsinn)?

6. Igaz-e, hogynlgc=O(clgn) (c >1)?

7. 2/3: Adjuk meg azt aT(n) f¨uggv´enyt z´art alakban, amely a 3 hatv´a- nyokon van ´ertelmezve ´es eleget tesz a k¨ovetkez˝o felt´eteleknek:T(1) = 1 ´esn≥2-re T(n) = 4T(n/3) +n2

8. T(n) = 2T n

2

+n (Sejt´es:T(n) =O(nlogn)) 9. T(n) =T n

2

+T n

2

+ 1 (Sejt´es: T(n) =O(n)) 10. T(n) =T n

2

+ 1 (Sejt´es: O(lgn)) 11. K¨onyvb˝ol:T(n)≤n−1 + 2T n2

(O(nlogn))

12. K¨onyvb˝ol:T(n) ≤5n, ha n≤24 ´esT(n)≤ 11n5 +T n5

+T 3n4 , ha n >24 (T(n)≤44n)

13. O/1: Igaz-e, hogy

(a) haf =O(g) ´esg=O(h), akkorf =O(h);

(b) haf = Ω(g) ´es g= Ω(h), akkor f = Ω(h)?

14. O/2: Tudjuk, hogyf(x) =O(h(x)) ´esg(x) =O(h(x)). Igaz-e, hogy (a) hah(x) = 3x, akkorf(g(x)) =O(h(x));

(b) f(g(x)) =O(h(x)) minden h f¨uggv´enyre?

(2)

15. O/3: ´Allap´ıtsa meg, hogy az al´abbi f¨uggv´enyek eset´en mely p´arokra teljes¨ul, hogyfi(n) =O(fj(n)). V´alasz´at indokolja is!

f1(n) = 11n2, f2(n) = 8n2logn, f3(n) =n2+ 100000.

16. O/4: Az al´abbi f¨uggv´enyeket rendezze olyan sorozatba, hogy hafiut´an k¨ozvetlen¨ulfj k¨ovetkezik a sorban, akkorfi(n) =O(fj(n)) teljes¨ulj¨on!

Indokolja is meg, mi´ert j´o a v´alasztott sorrend!

f1(n) = 8n2.5 f2(n) = 5√

n+ 1000n f3(n) = 2log2n

f4(n) = 2007n2logn

17. O/5: Az A algoritmusr´ol azt tudjuk, hogy n hossz´u bemeneteken a l´ep´essz´amaO(n2). Lehets´eges-e, hogy

(a) mindennhossz´u bemenetenO(n) l´ep´est haszn´al?

(b) van olyanx, hogy az xbemeneten az algoritmus l´ep´essz´ama 10|x|log|x| −800 (ahol x bemenet hossz´at jel¨oli)?

18. V070612: EgyAalgoritmusr´ol azt tudjuk, hogynhossz´u bemeneteken a l´ep´essz´amaO(nlogn). Lehets´eges-e, hogy

(a) van olyanx bemenet, amin a l´ep´essz´ama|x|3?

(b) mindenx bemeneten legfeljebb 2007|x|l´ep´est haszn´al?

(Szok´as szerint |x|az xsz´o hossz´at jel¨oli.)

19. V070619: Az al´abbi f¨uggv´enyeket rendezze olyan sorozatba, hogy ha fi ut´an k¨ozvetlen¨ul fj k¨ovetkezik a sorban, akkor fi(n) = O(fj(n)) teljes¨ulj¨on!

f1(n) = 2100n−250n, f2(n) = 2007n3, f3(n) = 33n.

20. ZH081103: Jel¨olje T(n) egy algoritmus maxim´alis l´ep´essz´am´at az N hossz´u bemeneteken. Tudjuk, hogyT(n)≤n+T(n−1) hanp´aratlan, T(n) ≤ n + 2T(n− 1) ha n p´aros, valamint T(1) = T(2) = 1.

K¨ovetkezik-e ebb˝ol, hogy (a) T(n) =O(n2) (b) T(n) =O(n2n)?

(3)

21. ZH081126: Az al´abbi f¨uggv´enyeket rendezze olyan sorozatba, hogy ha fi ut´an k¨ozvetlen¨ul fj k¨ovetkezik a sorban, akkor fi(n) = O(fj(n)) teljes¨ulj¨on!

f1(n) = 100n1,5+ 3(√

n)7 f2(n) = 4logn−8 f3(n) = n1log(n!)

22. V090121: Egy algoritmus T(n) l´ep´essz´am´ara igaz, hogy T(n)≤2n2+ T(n−2), ha n ≥ 3, valamint T(1) = T(2) = 1. K¨ovetkezik-e ebb˝ol, hogy

(a) T(n) =O

2log2n (b) T(n) =O n3

23. ZH090424: Tekints¨uk azf1(n) = 2009n! ´esf2(n) = 100(n−1)! f¨uggv´e- nyeket! Igaz-e, hogy

(a) f1=O(f2) (b) f2=O(f1) (c) f1= Ω(f2) (d) f2= Ω(f1)

24. PZH090504: Legyenf(n) =f(n−1) +f(n−1) + 7 ´esf(1) = 1. Valaki egy rekurz´ıv elj´ar´ast ´ırt azf(n) f¨uggv´eny ´ert´ek´enek kisz´amol´as´ara. Ha ezzel egyn >1 pozit´ıv eg´eszre akarjuk kisz´am´ıtani a f¨uggv´eny ´ert´ek´et, akkor az elj´ar´as, a k´eplet szerint, rekurz´ıvan k´etszer is megh´ıvjan−1- gyel ¨onmag´at, ´es elv´egzi a k´et kijel¨olt ¨osszead´ast. (Amikor az elj´ar´as n= 1 ´ert´ekkel h´ıv´odik meg, akkor nem v´egez ¨osszead´ast, csak vissza- adja azf(1) = 1 ´ert´eket.) Azm´ert´ek´et˝ol f¨ugg˝oen mennyi lesz azf(m) kisz´amol´as´ara ´ıgy felhaszn´alt ¨osszead´asok sz´ama?

25. PPZH090521: Jel¨olje L(n) egy algoritmus l´ep´essz´am´anak maximum´at azncs´ucs´u gr´afokon! Tudjuk, hogy hanp´aros ´esn >2, akkorL(n) = L(n−2) + 10, ha pedig n > 1 p´aratlan, akkor L(n) = 2L(n−1), valamint, hogyL(1) = 5 ´esL(2) = 3. K¨ovetkezik-e ebb˝ol, hogyL(n) = O(n2)?

26. Az al´abbi f¨uggv´enyeket rendezze olyan sorozatba, hogy ha fi ut´an k¨ozvetlen¨ulfj k¨ovetkezik a sorban, akkorfi(n) =O(fj(n)) teljes¨ulj¨on!

(a) f1(n) = 1001 n2logn,

(b) f2(n) = 1010(logn)3−100 logn, (c) f3(n) = 8logn.

(4)

27. ZH091104: Legyenf1(n) =n2009+ 114 logn,f2(n) =nlog logn,f3(n) = 2n−logn. Igaz-e, hogy

(a) f1(n) =O(f2(n)), (b) f2(n) =O(f3(n)), (c) f1(n) =O(f3(n))?

(5)

2. Dinamikus programoz´ as

1. Adottak az 1,2, . . . , n sz´amok x1, . . . , xn ´es y1, . . . , yn permut´aci´oi. A k´et sorozat egy k¨oz¨os r´eszsorozata egy 1≤i1 <· · · < ik ≤n, ´es egy 1 ≤ j1 < . . . < jk ≤ n indexsorozattal adhat´o meg, ahol xim = yjm

teljes¨ul minden 1≤ m ≤ k eset´en. Adjon O(n2) l´ep´essz´am´u algorit- must, ami azx ´esy sorozatokban meghat´aroz egy leghosszabb k¨oz¨os r´eszsorozatot.

2. Legyenek a1, a2, . . . , an tetsz˝oleges eg´esz sz´amok ´es m < n2 eg´esz.

Adjon algoritmust, amely a bin´aris alakjukkal megadotta1, a2, . . . , an

´esm sz´amokr´ol eld¨onti polinom id˝oben, hogy aza1, a2, . . . , ansz´amok k¨oz¨ul kiv´alaszthat´o-e n´eh´any ´ugy, hogy az ¨osszeg¨ukm-mel osztva egyet adjon marad´ekul.

3. Egynsz´ob´ol ´all´o sz¨oveget kell sorokra t¨ordelni. A sz¨ovegi-edik szava

`i karakterb˝ol ´all, egy sor s karakter hossz´u. Ha egy sor a sz¨oveg i- edik szav´aval kezd˝odik ´es aj-edik sz´oval v´egz˝odik, akkor az elv´alaszt´o sz´ok¨oz¨oket is figyelembe v´evet=s−(`i+`i+1+· · ·+`j+j−i) ¨ures hely marad a sor v´eg´en. Egy ilyen sor hib´aja legyen t2. A t¨ordel´es hib´aja a nem ¨ures sorok hib´ainak ¨osszege. Adjon O(n2) l´ep´eses algoritmust egy legkisebb hib´aj´u t¨ordel´es meghat´aroz´as´ara! (A szavak sorrendje r¨ogz´ıtett.)

4. Legyen w=w1w2· · ·wn egy nbet˝ub˝ol ´all´o sz´o. H´ıvjuk r´eszsz´onak w egy tetsz˝olegeswiwi+1· · ·wi+kdarabj´at (1≤i≤n−1, 1≤k≤n−i).

Adjon algoritmust, ami O(n) l´ep´esben meghat´arozza az ¨osszes a-val kezd˝od˝o ´es b-re v´egz˝od˝o r´eszsz´o sz´am´at.

5. Egyn´es egy m karakterb˝ol ´all´o sz¨ovegben meg akarjuk tal´alni a leg- nagyobb azonos darabot, azaz ha az egyik sz¨ovega1a2· · ·an´es a m´asik b1b2· · ·bm, akkor olyan 1 ≤ i≤ n´es 1 ≤j ≤m indexeket keres¨unk, hogy

ai+1=bj+1, ai+2=bj+2, . . . , ai+t=bj+t

teljes¨ulj¨on a lehet˝o legnagyobbtsz´amra. Adjon erre a feladatraO(mn) l´ep´est haszn´al´o algoritmust.

6. Legyenek a1, a2, . . . , an ´es b tetsz˝oleges pozit´ıv eg´esz sz´amok. Adjon algoritmust, amely a bin´aris alakjukkal megadott a1, a2, . . . , an ´es b sz´amokhoz O(nb) id˝oben megadja, hogy a b sz´am h´anyf´elek´eppen ´all el˝o az a1, a2, . . . , an sz´amok k¨oz¨ul n´eh´any ¨osszegek´ent.

7. Adjon algoritmust, ami egy n cs´ucs´u f´aban line´aris id˝oben meghat´a- rozza a f´aban lev˝o leghosszabb ´ut hossz´at.

(6)

8. Adott egy fa, melynek cs´ucsaihoz s´ulyok vannak rendelve. Adjon line´a- ris algoritmust, ami meghat´arozza a f´aban tal´alhat´o maxim´alis s´uly´u f¨uggetlen ponthalmaz s´uly´at.

9. Egyn×n m´eret˝u t´abl´azat minden eleme egy eg´esz sz´am. A t´abl´azat bal als´o sark´ab´ol akarunk eljutni a jobb fels˝o sark´aba ´ugy, hogy egy l´ep´esben a t´abl´azatban vagy felfel´e, vagy jobbra egyet l´ep¨unk. Azt szeretn´enk, hogy a l´epeget´es sor´an l´atott elemek n¨ovekv˝o sorrendben k¨ovess´ek egym´ast. Egy ilyen ´ut ´ert´eke a benne szerepl˝o sz´amok ¨osszege.

Adjon O n2

fut´asi idej˝u algoritmust, ami meghat´arozza, hogy az adott t´abl´azatban a szab´alyok szerinti utak ´ert´ekei k¨oz¨ott mekkora a legnagyobb! J´o algoritmus: 5 pont; indokl´asa: 3 pont; l´ep´essz´am in- dokl´asa: 2 pont.

10. Adottak az a1, a2, . . . , an eg´esz sz´amok, 0 < ai < K. Seg´ıts´eg¨ukkel c1a1 +c2a2 +· · · +cnan alakban akarunk sz´amokat el˝o´all´ıtani ´ugy, hogy mindegyikci ´ert´eke –1, 0, vagy 1 lehet. Adjon algoritmust, ami az ai sz´amok ´es a K ismeret´eben O n2K

l´ep´esben meghat´arozza, hogy mely sz´amok ´allnak el˝o ilyen alakban, ´es ami el˝o´all, az h´anyf´ele c1, c2, . . . , cn v´alaszt´as eset´en! A felismer´es, hogy az ¨osszeg −nK ´es nK k¨oz¨ott lehet csak: 2 pont, algoritmus: 4 pont, indokl´as: 2 pont, l´ep´essz´am: 2 pont.

11. ZH081103: Adottak az a1 ≤a2 ≤ · · · ≤ an pozit´ıv eg´eszek egy rende- zett t¨ombben. Egy [x, y] intervallumh(x, y)-nal jel¨olt hi´anya az olyan akelemek sz´ama, melyekreak< xvagyak> yaz intervallum k¨olts´ege pedigC(x, y) =|y−x|+ 2h(x, y). AdjonO(n) l´ep´essz´am´u algoritmust minim´alis k¨olts´eg˝u intervallum megtal´al´as´ara!

12. PZH081126: Egy (2n+1)×(2n+1)-es n´egyzetr´acs ´elein mozoghatunk. A r´acs ´elein egycs´ulyf¨uggv´eny ´ertelmezett,c´ert´eke minden ´elen pozit´ıv.

Adjon algoritmust, amely O(n2) l´ep´esben meghat´aroz egy legkisebb s´uly´u olyan utat, ami a r´acs als´o sor´ab´ol a fels˝o sorba vezet!

13. V090121: Legyenek adottak az {a, b, c} karakterk´eszletb˝ol alkotott x = x1x2. . . xn ´es y = y1y2. . . ym szavak. Egy k hossz´u s sz´o k¨oz¨os folytonos r´eszsorozatax-nek ´esy-nak, ha l´eteznek olyani´esjindexek (1≤i≤n−k+1, 1≤j≤m−k+1), melyekres=xixi+1. . . xi+k−1 = yjyj+1. . . yj+k−1. Adjon algoritmust, amelyO(nm) l´ep´esben meghat´a- rozza azx´esyszavak k¨oz¨os folytonos r´eszsorozatai k¨oz¨ul a legnagyobb hossz´at!

14. ZH090424: Bankunk k f´ele valut´aval foglalkozik. Valaki megs´ugta ne- k¨unk az elk¨ovetkez˝o n napra, hogy melyik nap mi lesz az ´atv´alt´asi ar´any az egyes valut´ak k¨oz¨ott, azaz adottak at(m, i, j) sz´amok, ame- lyek azt mutatj´ak, hogy azm-edik napon azi-edik valuta egy egys´eg´e-

(7)

´ert mennyit adnak a j-edik valut´ab´ol (1 ≤ m ≤ n ´es 1 ≤ i, j ≤ k). Azt szeretn´enk tudni, hogyan lesz az n-edik nap v´eg´ere a lehet˝o legt¨obb forintunk az els˝o nap meglev˝o 10000 forintunkb´ol. Adjon algo- ritmust, ami ezt meghat´arozza, felt´eve, hogy minden nap legfeljebb egy ´atv´alt´ast v´egezhet¨unk; ´es ha ´atv´altunk, akkor mindig a teljes megl´ev˝o ¨osszeget v´altjuk ´at. Tegy¨uk fel, hogy az ´atv´alt´asnak nincs k¨ul¨on k¨olts´ege! Az algoritmus l´ep´essz´ama legyenO(nk2).

15. PZH090504: Aza1, a2, . . . , aneg´esz sz´amokb´ol ´all´o sorozatot szeretn´enk viszonylag egyenletesen legfeljebbkr´eszre felosztani. Minden r´esz a so- rozat n´eh´any egym´as ut´ani elem´eb˝ol kell ´alljon, egy r´esz hib´aja legyen a benne lev˝o legnagyobb ´es legkisebb sz´am k¨ul¨onbs´eg´enek n´egyzete!

Adjon algoritmust, amelyO(n2k) l´ep´esben meghat´aroz egy feloszt´ast, melyben a r´eszek hib´aj´anak ¨osszege minim´alis!

16. PPZH090519: Az n pont´u, egyszer˝u, ir´any´ıtatlan G gr´af a m´atrix´aval adott. A gr´af ´elei k´etf´ele sz´ın˝uek, minden ´elhez adott, hogy a sz´ıne k´ek vagy z¨old. Adott m´eg egy s cs´ucsa a gr´afnak ´es egy T pozit´ıv eg´esz sz´am. Adjon algoritmust, amely O(T n2) l´ep´esben eld¨onti, hogy az s cs´ucsb´ol mely cs´ucsokba vezet olyan ´elsorozat (nem kell, hogy

´

ut legyen), ami pontosan T ´elb˝ol ´all, ´es nincs benne k´et k¨ozvetlen¨ul egym´as ut´an j¨ov˝o azonos sz´ın˝u ´el.

17. ZH091104: Egy ´uj nyelv kifejleszt´es´ehez szeretn´enk k¨onnyen kiejthet˝o szavakat alkotni. Ehhez adott a felhaszn´alhat´o bet˝uk v´eges Σ halmaza, valamitn egy T t´abl´azat amely tetsz˝oleges x ´es y bet˝ukre megadja, hogy k¨onnyen kiejthet˝o-e x ut´an y. (Lehet, hogy ab k¨onnyen kiejt- het˝o, de ba nem; aa is lehet k¨onnyen kiejthet˝o.) Egy sz´o akkor sz´ep, ha b´armely egym´ast k¨ovet˝o k´et bet˝uje k¨onnyen kiejthet˝o. Adjon algo- ritmust, amely tetsz˝olegesn eset´en O

n|Σ|2

l´ep´esben eld¨onti, hogy az nhosszon alkothat´o sz´ep szavak sz´ama oszthat´o-e 13-mal!

(8)

3. Legr¨ ovidebb utak

1. Dijkstra szeml´eltet´es s,u = 10

s,x = 5 u,x = 2 x,u = 3 u,v = 1 x,y = 2 x,v = 9 v,y = 4 y,v = 6 y,s = 7

2. 7/1: M˝uk¨odik-e Dijkstra algoritmusa (a) ir´any´ıtatlan gr´afokra?

(b) olyan gr´afra, melyben lehet negat´ıv s´uly´u ´el?

(c) egy olyan gr´afra, amelyr˝ol annyit tudunk, hogy nincs benne nega- t´ıv ¨osszs´uly´u ir´any´ıtott k¨or?

3. 7/2: Adjuk meg az ¨osszes olyan minim´alis ´elsz´am´u ir´any´ıtott gr´afot (´els´ulyokkal egy¨utt), amely(ek)re az al´abbi t´abl´azat a Dijkstra–algo- ritmusban szerepl˝o D t¨omb v´altoz´asait mutathatja. Adja meg a leg- r¨ovidebb utakat tartalmaz´o P t¨omb ´allapotait is!

v1 v2 v3 v4 v5 v6

0 2 6 ∞ ∞ 7

0 2 5 9 ∞ 6

0 2 5 6 9 6

0 2 5 6 8 6

0 2 5 6 7 6

4. 7/3: Javasoljunk egyO

|V|2

k¨olts´eg˝u algoritmust a k¨ovetkez˝o prob- l´em´ara! Adott a G= (V, E) ir´any´ıtott gr´af pozit´ıv ´els´ulyokkal ´es egy s ∈ V cs´ucs. Meghat´arozand´o a legr¨ovidebb s-b˝ol v-be vezet˝o utak sz´ama az ¨osszesv∈V cs´ucsra.

5. 7/4: Adott egy G egyszer˝u ir´any´ıtott gr´af ´ellist´aval, nemnegat´ıv ´el- s´ulyokkal. Legyenv1 egy tetsz˝oleges cs´ucsaG-nek. Adjunk min´el hat´e- konyabb m´odszert av1-hez legk¨ozelebbi 100 cs´ucs megtal´al´as´ara!

(9)

6. 7/5: Legyen adott egyn×npixelb˝ol ´all´o fekete-feh´er k´ep. Szeretn´enk a k´epen a bal fels˝o sarokt´ol a jobb als´o sarokig egy jobbra-lefel´e ha- lad´o hat´arvonalat h´uzni ´ugy, hogy a vonalt´ol jobbra-felfel´e es˝o fekete, valamint a vonalt´ol balra-lefel´e es˝o feh´er pixelek sz´am´anak az ¨osszege a lehet˝o legkisebb legyen. Oldjuk meg ezt a feladatotO(n2) id˝oben!

7. 7/6: LegyenG= (V, E) adjacencia-m´atrixszal adottnpont´u, s´ulyozott

´el˝u ir´any´ıtott gr´af. Tegy¨uk fel, hogy G nem tartalmaz negat´ıv ¨ossz- hossz´us´ag´u ir´any´ıtott k¨ort, tov´abb´a azt, hogy a G-beli egyszer˝u ir´a- ny´ıtott utak legfeljebb 25 ´elb˝ol ´allnak. Javasoljunk O(n2) uniform k¨olts´eg˝u m´odszert az 1 ∈ V pontb´ol az ¨osszes tov´abbi v ∈ V pon- tokba viv˝o legr¨ovidebb utak hossz´anak a meghat´aroz´as´ara!

8. 7/36: Egy vas´uti menetrend seg´ıts´eg´evel meg akarjuk hat´arozni, ho- gyan tudunk leggyorsabban eljutniAv´arosb´olB-be. Azaz adott, hogy melyik v´arosb´ol hova megy k¨ozvetlen¨ul vonat, mennyi id˝o alatt ´er oda, illetve ha ´at akarunk sz´allni egyik vonatr´ol a m´asikra, az adott helyen mennyi a v´arakoz´asi id˝o. Ezek ismeret´eben adjunk hat´ekony algorit- must, amely meghat´aroz egy legkevesebb ideig tart´o utat!

9. ZH030331: Egy ir´any´ıtott gr´af cs´ucshalmaza {a, b, c, d, e, f}, az ´elek

´es s´ulyaik pedig az al´abbiak: s(a, b) = 5, s(a, e) = 6, s(b, c) = 4, s(b, d) = 6, s(c, a) = 3, s(c, d) = 1,s(d, e) = 2,s(e, c) = 2, s(e, f) = 1, s(f, b) = 3,s(f, c) = 1, s(f, d) = 1.

(a) Dijkstra m´odszer´evel hat´arozza mega-b´ol az ¨osszes t¨obbi cs´ucsba vezet˝o legr¨ovidebb ´ut hossz´at! (Indokolni nem kell, de l´atsz´odjon l´ep´esenk´ent hogyan v´altozik meg a t´avols´agokat t´arol´o D t¨omb

´es aK ´ESZ halmaz.)

(b) Egy ´el s´uly´at 1-gyel cs¨okkentj¨uk. Mely ´elek eset´eben nem v´altoz- nak meg ezzel az a-t´ol m´ert t´avols´agok?

10. ZH040329: Egy ir´any´ıtott gr´af cs´ucshalmaza {a, b, c, d, e, f}, az ´elek

´es s´ulyaik pedig a k¨ovetkez˝oek: s(a, b) = 6, s(a, c) = 5, s(a, e) = 8, s(b, a) = 5, s(b, e) = 1, s(b, f) = 2, s(c, b) = 2, s(c, f) = 4, s(e, b) = 6, s(e, d) = 3,s(f, d) = 1, s(f, e) = 1.

(a) Dijkstra m´odszer´evel hat´arozza mega-b´ol az ¨osszes t¨obbi cs´ucsba vezet˝o legr¨ovidebb ´ut hossz´at! (Indokolni nem kell, de l´atsz´odjon l´ep´esenk´ent hogyan v´altozik meg a t´avols´agokat t´arol´o D t¨omb

´es aK ´ESZ halmaz.)

(b) Vegy¨uk hozz´a a gr´afhoz a (b, d) ´elet. Milyen s(b, d) ≥ 0 s´ulyok eset´en v´altozn´anak meg ezzel a legr¨ovidebb utak hosszai?

11. V040527: A m´atrix´aval adott G ir´any´ıtott gr´af ´elei k¨oz¨ott van egy negat´ıv s´uly´u ´el, a t¨obbi ´el s´ulya pozit´ıv. A gr´afban nincs negat´ıv

(10)

s´uly´u k¨or. AdjonO(n2) l´ep´essz´am´u algoritmust az s∈V(G) pontb´ol az ¨osszes t¨obbi pontba vezet˝o legr¨ovidebb utak meghat´aroz´as´ara!

12. Ny´ari utaz´asunkra valut´at akarunk v´altani. A p´enzv´alt´o n k¨ul¨onb¨oz˝o valut´aval foglalkozik, aj. fajta 1 egys´eg´e´ertrij-t kell fizetni azi. p´enz- nemben. (Pl. ha a j. a doll´ar ´es az i. a forint, akkor most rij = 222 lehet.) Azrij t¨omb felhaszn´al´as´aval adjonO(n3) l´ep´eses algoritmust, amely minden valutap´arra meghat´arozza, hogy mi az el´erhet˝o legjobb

´

atv´alt´asi ar´any, ha feltessz¨uk, hogy az ´atv´alt´asok´ert nem sz´amolnak fel k¨ul¨on k¨olts´eget. (Az i-r˝ol j-re val´o ´atv´alt´as t¨ort´enhet t¨obb l´epcs˝oben is, ´erdemes lehet el˝obb i-r˝ol k1-re konvert´alni, onnan k2-re, stb. ´es v´eg¨ulj-re.)

13. ZH080328: A G = (V, E) ir´any´ıtott gr´afban a cs´ucsok egy r´esze fon- tos, ezeknek a cs´ucsoknak a halmaza az ∅ 6= F ⊆ V. A gr´af minden

´el´ehez tartozik egy pozit´ıv ´els´uly. Az u ∈ F fontos cs´ucs t´avols´aga a v∈F fontos cs´ucst´ol a legr¨ovidebb olyan u-b´olv-be men˝o ´ut hossza, aminek nincs u-t´ol ´es v-t˝ol k¨ul¨onb¨oz˝o fontos cs´ucsa. Legyen a gr´af a m´atrix´aval adott, ´es minden cs´ucsra adott az is, hogy fontos cs´ucs-e.

Adjon algoritmust amiO

|V|2|F|

l´ep´esben meghat´arozza az ¨osszes fontos cs´ucsp´ar k¨oz¨otti t´avols´agot!

14. ZH080509: ´Allatkert¨unk zsir´afot szeretne venni. Eur´opa ´utjainak t´er- k´epe egy s´ulyozott ir´any´ıtatlan gr´afk´ent adott, melynek cs´ucsai a v´a- rosok, az ´els´ulyok a t´avols´agok. Tudjuk, hogy a gr´afban lev˝o n cs´ucs k¨oz¨ul melyik az a n´eh´any, ahonnan be tudjuk szerezni a zsir´afot. Gond az, hogy zsir´af sz´all´ıt´as´ara alkalmas j´arm˝u nincs mindenhol, de sze- rencs´ere tudjuk, melyik az aJ darab cs´ucs, ahonnan ilyet k¨olcs¨onk´er- het¨unk (ezek nem felt´etlen¨ul ott vannak, ahol zsir´af is van). Egy adott

´

utvonal k¨olts´eg´ebe a zsir´afsz´all´ıt´o j´arm˝uvel ¨uresen megtett r´esz hossza (a zsir´afig, ´es t˝ol¨unk vissza a kiindul´asi hely´ere) egyszeresen, de a zsir´affal megtett ´ut 5-sz¨or¨osen sz´am´ıt. AdjonO(J n2) l´ep´essz´am´u algo- ritmust, ami megmondja, hogy honnan hozassuk a zsir´afot, ´es honnan k´erj¨uk a j´arm˝uvet, ha azt akarjuk, hogy a k¨olts´eg minim´alis legyen (az ´ut sor´an term´eszetesen t¨obb v´aroson is ´atmehet¨unk, ugyanazon a v´aroson ak´ar t¨obbsz¨or is).

15. ZH080509/7

16. ZH081103: A pekingi ´allatkert egyik pand´aja Budapestre l´atogat. A panda Peking ´es Budapest k¨oz¨ott rep¨ul˝on utazik (esetleg ´atsz´all´asok- kal), az ´allatkert ´es a rept´er k¨ozti utat mindk´et v´arosban aut´oval teszi meg. Adottak a Peking illetve Budapest t´erk´ep´et le´ır´o GP ´es GB gr´afok, valamint az ig´enybe vehet˝o rep¨ul˝oj´aratokat a lehets´eges

´

atsz´all´asokkal le´ır´o GR gr´af. Mindh´arom gr´af ir´any´ıtott, ´es s´ulyozott

(11)

szomsz´eds´agi m´atrix´aval adott, a s´ulyok az egyes ´utszakaszok meg- t´etel´ehez sz¨uks´eges id˝ot jelzik. (A rep¨ul˝oj´aratok k¨ozti ´atsz´all´as nem telik id˝obe.) Adjon O(N2) l´ep´essz´am´u algoritmust, amely megtervezi a leggyorsabb ´utvonalat a panda sz´all´ıt´as´ara a pekingi ´allatkertb˝ol a budapesti ´allatkertbe, aholN =max{|V(GP)|,|V(GB)|,|V(GR)|}.

17. ZH081103: Egy aut´op´alya av0, v1, . . . , vnv´arosokon halad ´at, csak egy ir´anyban. Egy utaz´o szeretne v0-b´ol vn-be eljutni az aut´op´aly´an, de minden ´utszakasz´ert fizetnie kell. Kezdetben 100 tall´erja van, az ´ut megt´etele viszont ¨osszesen 2000 tall´erba ker¨ul. Szerencs´ere az utaz´onak minden v´arosban lakik egy-egy bar´atja, aki hajland´o ˝ot n´emi p´enzzel kiseg´ıteni; minden ilyen kit´er˝o ingyenes, viszont id˝obe telik. Adottak az aut´op´alya ´utszakaszainak megt´etel´ehez sz¨uks´eges id˝ok, az ´utszakaszok

´

arai, az egyes v´arosokban lak´o bar´att´ol beszerezhet˝o p´enz¨osszegek, ´es az ezen kit´er˝okh¨oz sz¨uks´eges id˝ok. Tudjuk, hogy minden megadott

´ert´ek nemnegat´ıv eg´esz. Adjon algoritmust, amelyO(n) l´ep´esben meg- hat´aroz egy leggyorsabb ´utvonalat az utaz´o sz´am´arav0-b´olvn-be!

18. ZH081126: Dijkstra-algoritmussal hat´arozza meg a H gr´afban az A pontb´ol az ¨osszes t¨obbi pontba men˝o legr¨ovidebb utak hossz´at az x pozit´ıv val´os param´eter f¨uggv´eny´eben. Minden l´ep´esn´el ´ırja fel a t´avols´agokat tartalmaz´o Dt¨omb ´allapot´at ´es a K ´ESZ halmaz elemeit!

(Gr´af: AB:8; AD:2; BC:4; BF:x; DB:5; DE:3; EB:1; EF:3; FC:1) 19. ZH081126: Egy (2n+1)×(2n+1)-es n´egyzetr´acs ´elein mozoghatunk. A

r´acs ´elein egycs´ulyf¨uggv´eny ´ertelmezett,c´ert´eke minden ´elen pozit´ıv.

Adjon algoritmust, amely O(n2) l´ep´esben meghat´aroz egy legkisebb s´uly´u olyan utat, ami a r´acs als´o sor´ab´ol a fels˝o sorba vezet!

20. ZH081126: Sormint´at szeretn´enk ´ep´ıteni t¨obbf´ele sz´ın˝u ´es m´eret˝u ko- rongb´ol. Ehhez adottak az (m1, c1),(m2, c2), . . . ,(mn, cn) p´arok, ahol mi ∈ N ´es ci ∈ N az i-edik korong m´eret´et illetve sz´ın´enek k´odj´at jel¨oli. Minden sz´ın legfeljebb 10 korongon szerepel. A sormint´aban minden korong ut´an egy n´ala szigor´uan nagyobbnak kell k¨ovetkeznie,

´es emellett mindenc sz´ınhez adott azon sz´ınekL(c) list´aja, ami meg- hat´arozza, hogy milyen sz´ın˝u korongok ´allhatnak egy c sz´ın˝u korong mellett. Ezen list´ak ¨osszhossza l. Adjon O(n+l) l´ep´essz´am´u algorit- must a leghosszabb sorminta megtal´al´as´ara!

21. ZH090424: Dijkstra-algoritmussal hat´arozza meg az al´abbi gr´afban az A pontb´ol az ¨osszes t¨obbi pontba men˝o legr¨ovidebb utak hossz´at az x pozit´ıv val´os param´eter f¨uggv´eny´eben! Minden l´ep´esn´el ´ırja fel a t´avols´agokat tartalmaz´oDt¨omb ´allapot´at ´es aK ´ESZhalmaz elemeit!

(Gr´af: AB: 3; AD: 5; BC: 3; CE: 2; DB: 1; DC: 4; DE: x; EA: 3; EC: 2.)

(12)

22. PPZH090519: Az al´abbi gr´afon a Bellman–Ford-algoritmust futtattuk azApontb´ol kezdve. A keletkezett t´abl´azat megadott els˝o k´et sor´ab´ol hat´arozza meg az egyes ´elek s´uly´at, ´es adja meg a t´abl´azat tov´abbi sorait! (Gr´af: AB; AC; AD; AE; AF; BC; CD; DF; FE.)

A B C D E F

1. 0 5 10 12 15 11

2. 0 5 6 11 13 9

3.

23. ZH091104: Hat´arozza meg az al´abbi H gr´afon az S cs´ucsb´ol a t¨obbi cs´ucsba men˝o legr¨ovidebb utak hossz´at a Bellmann–Ford algoritmus seg´ıts´eg´evel! w(S, A) = 2, w(S, C) = 5, w(A, B) = 1, w(A, C) = 1, w(B, D) = 7, w(B, E) = 4,w(C, B) = −5, w(C, D) = 3, w(D, A) =

−2, w(E, D) = 3.

24. ZH091104: Marco Polo ker´ekp´arral szeretneA v´arosb´ol B v´arosba el- jutni K´ın´aban a lehet˝o leggyorsabban. Ehhez adott K´ına t´erk´epe egy ir´any´ıtatlan ´els´ulyozottGgr´affal, melyen a cs´ucsok a v´arosok, az ´elek a k¨ozt¨uk lev˝o utak, az ´els´ulyok pedig az utak hossz´at jelentik. Marco ker´ekp´arja rossz ´allapotban van, ´ıgy sebess´ege b´armely ´utszakaszon 15 km/´ora. Ha olyan v´arosba ´er, melyben van biciklijav´ıt´o, akkor ott a biciklij´et (pontosan) 24 ´ora alatt meg tudj´ak jav´ıtani. Ezut´an a se- bess´ege 30 km/´or´ara javul, ´es a ker´ekp´ar nem romlik el t¨obb´e. Adjon algoritmust, amely G ´es a biciklijav´ıt´oval rendelkez˝o v´arosok list´aja alapj´an O(|V(G)|2) l´ep´esben megadja, hogy mennyi id˝o alatt ´erhet Marco PoloA-b´olB-be!

(13)

4. Kupacok

1. 3/37: Adjunk hat´ekony algoritmust egy kupac tizedik legkisebb elem´e- nek a megtal´al´as´ara! Elemezz¨uk a m´odszer k¨olts´eg´et!

2. ZH060407: Adott egy kupac, mely n darab sz´amot tartalmaz. Egy ´uj kupacot szeretn´enk ´ep´ıteni az eredeti kupac elemeinek (−1)-szeresei- b˝ol. (Ehhez, ha akarjuk, haszn´alhatjuk az eredeti kupacot.) Mutassa meg, hogy az ´uj kupac elk´esz´ıt´es´ehez haszn´alt ¨osszehasonl´ıt´asok sz´ama Θ(n).

3. V040617: A kezdetben ¨ures kupacba egyenk´ent sz´urunk be n elemet.

Igazolja, hogy el˝ofordulhat, hogy a besz´ur´asok sor´an v´egzett ¨ossze- hasonl´ıt´asok sz´ama Ω(nlogn).

4. ZH080328: Egy orvosi rendel˝oben a regisztr´aci´on´al kell bejelentkezni, ahol az ott dolgoz´ok eld¨ontik, hogy a beteg az ´epp rendel˝o k´et orvos k¨oz¨ul A-hoz vagy B-hez kell ker¨ulj¨on, vagy b´armelyik¨ukh¨oz ker¨ulhet.

Ezen k´ıv¨ul, a beutal´o ismeret´eben, a beteghez egy, a s¨urg˝oss´eget kife- jez˝o, sz´amot is rendelnek. Amikor valamelyik orvos v´egzett egy beteg- gel, akkor azon betegek k¨oz¨ul, akiket nem csak a m´asik orvos l´athat el, beh´ıvja a legnagyobb s¨urg˝oss´egi sz´am´ut. Tegy¨uk fel, hogy a ki- osztott s¨urg˝oss´egi sz´amok egym´ast´ol k¨ul¨onb¨oz˝oek. ´Irjon le egy olyan adatszerkezetet, ami abban az esetben, hanbeteg v´arakozik, akkor a regisztr´aci´on az ´uj beteg beilleszt´es´et, illetve az orvosoknak a k¨ovet- kez˝o beteg kiv´alaszt´as´atO(logn) l´ep´esben lehet˝ov´e teszi.

5. ZH080509: A 10 elem˝uAt¨omb els˝o 8 elem´ere legyenA[i] = 2i(1≤i≤ 8), ´es tekints¨uk ezt, mint egy 8 elem˝u kupacot. Rajzolja le az ehhez tartoz´o f´at! Hajtsa v´egre rajta a BESZ ´UR(3), BESZ ´UR(1), MINT ¨OR m˝uveletsort, rajzolja le az egyes m˝uveletek ut´an kapott kupacot (´es jelezze a k¨ozben sz¨uks´eges r´eszl´ep´eseket is)!

6. ZH081103: ´Ep´ıtsen bin´aris kupacot az 5,6,3,8,1,2,9,7 sz´amokat tar- talmaz´o t¨ombb˝ol, majd a kapott kupacba sz´urja be a 4-et! Minden v´altoz´ast l´ep´esenk´ent rajzoljon le!

7. ZH081126: Egy rendszerben k´odokat szeretn´enk kiosztani. A lehets´eges k´odok sz´amak, mindegyik egyhhossz´u 0-1 sorozat. Adott a lehets´eges k´odok list´aja, ´es minden k´odhoz a k´od k¨olts´ege (egy pozit´ıv eg´esz).

Tudjuk, hogy k¨ul¨onb¨oz˝o k´odok k¨olts´ege k¨ul¨onb¨oz˝o. Adjon algoritmust a k´odkioszt´ashoz, amely tetsz˝oleges n-re visszaadja az n legolcs´obb k´odot O(k+hn) l´ep´esben!

8. PZH090504: Az A[1] = 5, A[2] = 10, A[3] = 8, A[4] = 18, A[5] = 20, A[6] =x,A[7] = 15,A[8] = 19 t¨omb egy kupacot ad meg. Rajzolja fel a

(14)

kupacot bin´aris fa alakban! Hat´arozza meg, hogy azxval´os param´eter

´ert´ek´et˝ol f¨ugg˝oen hogyan n´ez ki a kupac egyMINT ¨ORm˝uvelet ut´an!

9. ZH091104: Egy kupacban az 1 ´es n k¨oz¨otti eg´eszeket t´aroljuk,n ≥3.

Hat´arozza meg, hogy a pre-, in-, illetve postorder bej´ar´asok k¨oz¨ul mely(ek)re tljes¨ulhet, hogy a bej´ar´as sor´an megl´atogatott elemek sor- rendje 1,2, . . . , n−1, n.

(15)

5. Keres´ es, rendez´ es

1. V040603: A 2k−1 elem˝uAt¨omb elemei mind k¨ul¨onb¨oz˝oek, ´es n¨ovekv˝o sorrendben vannak. Minden elemet egykhossz´u bitsorozat ´ır le, teh´at tekinthetj¨uk ´ugy, hogy a 0,1,2, . . . ,2k−1 sz´amokat t´aroljuk egy kiv´ete- l´evel. A feladat ennek a hi´anyz´o sz´amnak a megkeres´ese. Ehhez egy l´ep´esben valamelyik elem egy bitj´ere k´erdezhet¨unk r´a: a BIT(i, j) el- j´ar´as az A[i] elem j-edik bitj´et mondja meg. Adjon olyan algoritmust, amely a BIT elj´ar´asO(k)-szori h´ıv´as´aval megtal´alja a hi´anyz´o sz´amot (bitsorozatot)!

2. ZH060408: Az A[1 : n] t¨ombben lev˝o elemekr˝ol tudjuk, hogy A[1] 6=

A[n]. AdjonO(logn) ¨osszehasonl´ıt´ast haszn´al´o algoritmust, amely ta- l´al egy olyan iindexet, melyreA[i]6=A[i+ 1].

3. 3/1: Rendezz¨uk a k¨ovetkez˝o list´at kupacos rendez´es, gyorsrendez´es ´es az ¨osszef´es¨ul´eses rendez´es seg´ıts´eg´evel: 4, 11, 9, 10, 5, 6, 8, 1, 2, 16.

4. 3/3: H´any ¨osszehasonl´ıt´assal lehet megtal´alni nelem k¨oz¨ul a legkiseb- bet?

5. 3/4: Pontosan h´any ¨osszehasonl´ıt´as kell ahhoz, hogy egynelem˝u t¨omb- b˝ol egy olyan tagot keress¨unk, ami a t¨omb legkisebb 10 eleme k¨oz´e tartozik? (A t¨omb egy rendezett univerzum nk¨ul¨onb¨oz˝o elem´eb˝ol ´all, de maga nem felt´etlen¨ul rendezett. Az eredm´eny b´armelyik lehet a legkisebb t´ız k¨oz¨ul: teh´at pl. az els˝o ´epp´ugy megfelel, mint a tizedik.) 6. 3/10: A (n¨ovekv˝oen) rendezett A[1 : n] t¨omb k darab elem´et valaki

megv´altoztatta. A v´altoztat´asok helyeit nem ismerj¨uk. Javasoljunk O(n+klogk) uniform k¨olts´eg˝u algoritmust az ´ıgy m´odos´ıtott t¨omb rendez´es´ere!

7. 3/17:

8. 3/22: AzA[1 :n] t¨ombben eg´esz sz´amokat t´arolunk. Tudjuk, hogy van olyaniindex, amellyel

A[i]< A[i+ 1]<· · ·< A[n]< A[1]<· · ·< A[i−1]

teljes¨ul. Adjunk min´el kevesebb ¨osszehasonl´ıt´ast haszn´al´o m´odszert ennek az (egy´ertelm˝uen meghat´arozott) i indexnek a megkeres´es´ere!

Elemezz¨uk a m´odszer k¨olts´eg´et!

9. 3/24:

10. 3/25:

11. 3/26:

(16)

12. 3/37:

13. V020611: Adott 2n k¨ul¨onb¨oz˝o racion´alis sz´am. Adj O(nlogn) ¨ossze- hasonl´ıt´ast haszn´al´o algoritmust, ami (x1, y1),(x2, y2), . . . ,(xn, yn) p´a- rokba sorolja a sz´amokat ´ugy, hogy

1≤i≤nmax(xi+yi) a lehet˝o legkisebb legyen!

14. V020625: Adott egyn×n-es m´atrix. Adj O(n2logn) ¨osszehasonl´ıt´ast haszn´al´o algoritmust, amely eld¨onti, van-e k´et olyan sor, amelyeknek az els˝o oszlopbeli elemei k¨ul¨onb¨oznek, viszont az ¨osszes t¨obbi oszlopban megegyeznek!

15. ZH070427: A val´os sz´amokb´ol ´all´o a1, . . . , an sorozat olyan, hogy az a21, a22, . . . , a2nsorozat egy darabig n˝o, ut´ana cs¨okken. AdjonO(n) ¨ossze- hasonl´ıt´ast haszn´al´o algoritmust, ami rendezi aza1, . . . , an sorozatot!

16. ZH060408: Az A[1 : n] t¨ombben lev˝o elemekr˝ol tudjuk, hogy A[1] 6=

A[n]. AdjonO(logn) ¨osszehasonl´ıt´ast haszn´al´o algoritmust, amely ta- l´al egy olyan iindexet, melyreA[i]6=A[i+ 1].

17. V040610: Az n m´eret˝u (nem felt´etlen¨ul rendezett) A t¨omb elemei k¨ul¨onb¨oz˝o pozit´ıv eg´esz sz´amok. Adjon algoritmust, amely meghat´aroz egy 1≤k≤n sz´amot, ´es kiv´alaszt k k¨ul¨onb¨oz˝o elemet az A t¨ombb˝ol

´

ugy, hogy a kiv´alasztott elemek ¨osszege nem t¨obb mint k3. Ha nincs ilyenk, akkor az algoritmus jelezze ezt a t´enyt! Az algoritmus l´ep´es- sz´ama legyenO(nlogn). (K´et sz´am ¨osszehasonl´ıt´asa, ¨osszead´asa vagy szorz´asa egy l´ep´esnek sz´am´ıt.)

18. V070619: Adott a s´ıkonnpont, melyek koordin´at´ai (a1, b1),(a2, b2), . . . ,(an, bn).

Olyan P = (x, y) pontot keres¨unk a s´ıkon, amire az al´abbi ¨osszeg minim´alis.

n

X

i=1

(|ai−x|+|bi−y|)

Adjon algoritmust, ami O(nlogn) l´ep´esben meghat´aroz egy ilyen P pontot!

19. ZH040329: Az A[1 : n] t¨ombben eg´esz sz´amokat t´arolunk, ugyanaz a sz´am t¨obbsz¨or is szerepelhet. Hat´arozzuk meg O(nlogn) l´ep´esben az

¨

osszes olyan sz´amot, amelyik egyn´el t¨obbsz¨or fordul el˝o a t¨ombben!

(17)

20. Gyorsrendez´eses p´elda: 44, 75, 23, 43, 55, 12, 64, 77, 33 21. 3/27:

22. 3/28: Tegy¨uk fel, hogy adott a Σ = {a, b, c, d} abc feletti szavaknak egy S halmaza! AzS-beli szavak ¨osszhossza n. Javasoljunk egy O(n) idej˝u m´odszert azS elemeinek (lexikografikus) sorbarendez´es´ere! A Σ alaprendez´ese a < b < c < d.

23. 3/29: V´azoljunk egyO(n) id˝oig´eny˝u algoritmust (az id˝okorl´at bizony´ı- t´as´aval egy¨utt) n olyan eg´esz sz´amb´ol ´all´o sorozat rendez´es´ere, mely- nek elemei az

(a) {1, . . . ,3n}tartom´anyba esnek, (b)

1, . . . , n7−1 tartom´anyba esnek!

24. 3/30:

25. 4/3:

26. 4/4:

27. 4/6:

28. ZH080328: LegyenG= (V, E) egy ¨osszef¨ugg˝o, ir´any´ıtatlan (nem felt´et- len¨ul egyszer˝u) gr´af, ami ´ellist´aval adott. Hogyan lehetO(|E|) l´ep´esben meghat´arozni, hogy van-e k´et azonos fok´u cs´ucsa?

29. ZH080509: Adottnsz´am,s1, s2, . . . , sn, valamint egyT ´ert´ek. Hogyan lehet O(nlogn) ¨osszehasonl´ıt´assal olyan 1 ≤ i 6= j ≤ n indexeket tal´alni, hogy si+sj ≥ T teljes¨ulj¨on, ´es az |sj−si| ´ert´ek minim´alis legyen?

30. ZH081103: AzA t¨omb tartalma kezdetben 5,2,7,8,1. El˝ofordulhat-eA rendez´ese sor´an, hogy az At¨omb tartalma valamikor 2,1,5,7,8 lesz, ha a rendez˝o algoritmus

(a) a bubor´ek rendez´es, (b) a besz´ur´asos rendez´es, (c) a gyorsrendez´es?

31. ZH081126: Rendezze radix rendez´es seg´ıts´eg´evel a k¨ovetkez˝o karak- terl´ancokat:abbb, abba, caab, baba.

32. ZH090424: Adottak a

p0= (0,0), p1= (x1, y1), . . . , pn= (xn, yn), pn+1 = (100,0)

(18)

pontok a s´ıkban (n ≥ 1) ´ugy, hogy 1 ≤ i ≤ n eset´en xi ´es yi ra- cion´alis sz´amok, 0 < xi <100, ´es semelyik h´arom pont nem esik egy egyenesbe. Egyenes szakaszokkal akarjuk ezeket a pontokat valamilyen sorrendben ¨osszek¨otni ´ugy, hogy egy n+ 2 cs´ucs´u z´art t¨or¨ottvonalat kapjunk, amiben a beh´uzott szakaszok nem metszik egym´ast. Adjon egy O(nlogn) l´ep´essz´am´u algorimust annak meghat´aroz´as´ara, hogy melyik pontot melyikkel k¨oss¨uk ¨ossze!

33. PPZH090519: Adottak az a1, a2, . . . , an eg´esz sz´amok, valamint egy b eg´esz sz´am. Adjon algoritmust, amelyO(nlogn) l´ep´esben meghat´aroz- za, hogy az ai sz´amok k¨oz¨ott h´any olyan p´ar van, hogy a k´et sz´am k¨ul¨onbs´ege nagyobb, mint b.

34. ZH091104: AdjonO(|V(G)|+|E(G)|) l´ep´essz´am´u algoritmust, mely egy egyszer˝u ir´any´ıtatlanGgr´afr´ol eld¨onti, hogy van-e k´et olyan ¨osszef¨ugg˝o komponense, melyek azonos sz´am´u cs´ucsot tartalmaznak!

35. ZH091104: Legyen A egy (nem csak pozit´ıv) val´os sz´amokat tartal- maz´o,nhossz´u t¨omb. AdjonO(nlogn) l´ep´essz´am´u algoritmust, amely adottk sz´am eset´en eld¨onti, hogy van-e olyan i´esj index (1≤i, j≤ n), melyreA-ban az els˝oielem ¨osszege plusz az utols´oj elem ¨osszege pontosank. (P´eld´aul: A= [2,4,−5,1,6] ´esk= 7 eset´en i= 3 ´esj= 4 megfelel˝o.)

(19)

6. Bin´ aris f´ ak, bin´ aris keres˝ of´ ak

1. ZH080328: Hat´arozza meg azokat a bin´aris f´akat, amikben a preorder bej´ar´as szerinti sorrend ´eppen a postorder bej´ar´as ´altal adott sorrend ford´ıtottja!

2. V020611: Egy bin´aris fa inorder bej´ar´asa:

j, b, k, g, i, a, c, d, f, e, h preorder bej´ar´asa:

a, b, j, g, k, i, d, c, e, f, h Rekonstru´ald a f´at!

3. ZH081103: AzF bin´aris fa gy¨oker´eb˝ol ind´ıtott sz´eless´egi bej´ar´as ugyan- olyan sorrendben j´arja be a cs´ucsokat, mint az inorder bej´ar´as. Adja megF lehets´eges alakjait!

4. ZH090424: Egy bin´aris fa cs´ucsai 0 ´es 9 k¨oz¨otti eg´esz sz´amokkal vannak megc´ımk´ezve. Az inorder bej´ar´as sor´an a c´ımk´ek sorrendje: 9, 3, 1, 0, 4, 2, 7, 6, 8, 5, a postorder bej´ar´asn´al pedig 9, 1, 4, 0, 3, x, 7, 5,y, 2.

Mi lehet az x´es mi az y?

5. V040329: Egy bin´aris keres˝of´aban csupa k¨ul¨onb¨oz˜o eg´esz sz´amot t´aro- lunk. Lehets´eges-e, hogy egy KERES(x) h´ıv´as sor´an a keres´esi ´ut men- t´en a 20, 18, 3, 15, 5, 8, 9 kulcsokat l´atjuk ebben a sorrendben? Ha nem lehets´eges, indokolja meg, mi´ert nem; ha pedig lehets´eges, hat´arozza meg az ¨osszes olyanx eg´esz sz´amot, amire ez megt¨ort´enhet!

6. V070427: Egy kezdetben ¨ures bin´aris keres˝of´an hajtsa v´egre az al´abbi m˝uveleteket, ´es minden l´ep´es ut´an rajzolja le a kapott f´at!

BESZ ´UR(6), BESZ ´UR(3), BESZ ´UR(5), BESZ ´UR(15), BESZ ´UR(10), BESZ ´UR(20), BESZ ´UR(12), BESZ ´UR(14), T ¨OR ¨OL(15),

BESZ ´UR(4), T ¨OR ¨OL(3)

7. ZH030331: Tervezzen adatstrukt´ur´at a k¨ovetkez˝o felt´etelekkel! Term´e- szetes sz´amokat kell t´arolni, egy sz´am t¨obbsz¨or is szerepelhet. A sz¨uk- s´eges m˝uveletek:

• BESZ ´UR(i):iegy ´ujabb p´eld´any´at t´aroljuk

• T ¨OR ¨OL(i): iegy p´eld´any´at t¨or¨olj¨uk

• MINDT ¨OR ¨OL(i):i¨osszes p´eld´any´at t¨or¨olj¨uk

• DARAB(i): visszaadja, hogy h´any p´eld´any vani-b˝ol

• ELEM(K): megmondja a nagys´ag szerinti rendez´esben a K-adik elem ´ert´ek´et

(20)

Az adatstrukt´ura legyen olyan, hogy ha m-f´ele elemet t´arolunk, akkor mindegyik m˝uvelet l´ep´esig´enye O(logm). (P´eld´aul ha a t´arolt elemek 1,1,3,3,3,8, akkor DARAB(1)=2, ELEM(4)=3 ´es m= 3.)

8. PZH090504: Egy bin´aris keres˝of´abann k¨ul¨onb¨oz˝o eg´esz sz´amot t´arol- tunk. A fa nincs megadva, csak a benne t´arolt sz´amok a fa preorder bej´ar´as szerinti sorrendj´eben. Adjon O(n) l´ep´essz´am´u algoritmust an- nak meghat´aroz´as´ara, melyik az a legkisebb ´ert´ek, ami a keres˝of´aban nem lev´el volt!

9. PPZH090519: Az al´abbi keres˝of´an hajtsa v´egre aBESZ ´UR(13) ´es ut´a- na aT ¨OR ¨OL(7) m˝uveleteket! Az egyes r´eszl´ep´eseket is jelezze!

Gy¨ok´er: 7. BF(7)=1, JF(7)=18, JF(1)=6, BF(18)=11, BF(6)=3, JF(11)=14, BF(3)=2, JF(3)=5, BF(14)=12, JF(14)=16.

10. V090617: Az MSc-re jelentkez˝oknek a felv´etelit alkot´o 3 t´emak¨or mind- egyik´eb˝ol lesz egy ´ır´asbeli pontsz´amuk (P1, P2, P3), ´es keletkezik egy felv´eteli pontsz´amuk is (F P). Tegy¨uk fel, hogy aPi-k 1 ´es 30 k¨oz¨otti eg´eszek, m´ıg azF P tetsz˝oleges pozit´ıv eg´esz sz´am lehet. Adjon meg egy olyan adatszerkezetet, amivel a k¨ovetkez˝o m˝uveletek az adott id˝oben v´egrehajthat´oak (n a jelentkez˝ok sz´am´at jel¨oli)!

• BESZ ´UR(P1, P2, P3, F P): az adott pontsz´amok beilleszt´ese – O(logn),

• KERES(p): a pontosan p felv´eteli ponttal (F P =p) rendelkez˝o jelentkez˝ok sz´am´at hat´arozza meg –O(logn),

• KORL ´AT(i, q): az ´ır´asbelin az i-edik t´emak¨orb˝ol (1 ≤ i ≤ 3) legal´abbq pontot el´ert jelentkez˝ok sz´am´at hat´arozza meg –O(1).

11. Egy rendszer aktu´alis felhaszn´al´oinak ´eletkor szerinti eloszl´as´at sze- retn´enk nyilv´antartani. A felhaszn´al´ok ´eletkora mindig egy nemnegat´ıv (de tetsz˝olegesen nagy) eg´esz. Javasoljon adatszerkezetet a k¨ovetkez˝o m˝uveletekO(logK) l´ep´esben t¨ort´en˝o megval´os´ıt´as´ara, aholK a rend- szerben aktu´alisan tal´alhat´o legid˝osebb felhaszn´al¨u ´eletkora:

• BESZ ´UR(x): egy ´uj,x ´eletkor´u felhaszn´al´ot ad a rendszerhez.

• T ¨OR ¨OL(x): egy x´eletkor´u felhaszn´al´ot t¨or¨ol a rendszerb˝ol.

• FELHASZN ´AL ´O(x): megadja az x ´eletkor´u felhaszn´al´ok sz´a- m´at.

12. ZH091104: Hajtsa v´egre az al´abbiF bin´aris keres˝of´an aT ¨OR ¨OL(15), BESZ ´UR(5), T ¨OR ¨OL(2) m˝uveletsort! (Gy¨ok´er: 8, b(8) = 2, j(8) = 15,j(2) = 7, b(15) = 12,j(15) = 17,b(12) = 11,j(12) = 14).

(21)

7. Piros–fekete f´ ak

1. ZH080328: Egy kezdetben ¨ures piros-fekete f´aba valamilyen sorrendben besz´urtuk aza < b < celemeket. Mi lehet az eredm´eny¨ul kapott piros- fekete fa, ha a h´arom besz´ur´ason k´ıv¨ul m´as m˝uveletet nem v´egezt¨unk?

2. ZH080509: Lehets´eges-e, hogy egy piros-fekete f´aban t´arolt elemeket a preorder bej´ar´as szerint kiolvasva a 6,1,5,3,2,4 sorrendet kapjuk?

3. ´Ep´ıtsen piros-fekete f´at az al´abbi sorrendben ´erkez˝o sz´amokb´ol!

(a) 1,2,3,4,5,6 (b) 7,8,2,10,5,6

4. Egy piros-fekete f´aban lehets´eges-e, hogy a piros-fekete tulajdons´ag megs´ert´ese n´elk¨ul

(a) n´eh´any piros cs´ucsot ´atv´altoztatunk feket´ere?

(b) valamelyik, de csak egy piros cs´ucsot ´atv´altoztatunk feket´ere?

5. Milyen lehet egy olyan piros-fekete fa alakja, melyben az egy szinten lev˝o elemek azonos sz´ın˝uek?

6. Az F piros-fekete fa fekete magass´aga 8. Mennyi az F-ben t´arolt ele- mek minim´alis illetve maxim´alis sz´ama?

7. 4/3:

8. 4/4:

9. 4/6:

10. ZH081103: AzF piros-fekete f´an hajtsa v´egre a BESZ ´UR(6) m˝uveletet!

(Gy¨ok´er: fekete 4; bal fia: fekete 2; jobb fia: fekete 9; 9 bal fia: piros 7)

11. ZH081126: Egy piros-fekete f´aban eg´eszeket t´arolunk. Egy keres´es so- r´an a megl´atogatott cs´ucsokban sorra a 23, 40, 70, 52, 44 kulcsokat l´atjuk. Mi lehetett a keresett elem?

12. ZH090424: Egy piros-fekete f´aban jel¨oljex´esya gy¨ok´er k´et fi´at. Tud- juk, hogyf m(x) =f m(y), de azx cs´ucs k´et gyerek´enek k¨ul¨onb¨ozik a fekete magass´aga. Milyen sz´ın˝u lehet azy cs´ucs?

13. PZH090504: Igazolja, hogy egy 80 elemet t´arol´o piros-fekete f´aban a gy¨ok´er magass´aga nagyobb, mint a gy¨ok´er fekete magass´aga!

(22)

8. B-f´ ak

1. V030331: Egy 2–3 f´aba egym´as ut´an 1000 ´uj elemet illesztett¨unk be.

Mutassa meg, hogy ha ennek sor´an egyszer sem kellett cs´ucsot sz´et- v´agni, akkor a beilleszt´esek sorozata el˝ott m´ar legal´abb 2000 elemet t´aroltunk a f´aban.

2. 040329: Egy kezdetben ¨ures 2–3 f´aba az 1,2, . . . , n sz´amokat sz´urtuk be ebben a sorrendben. Bizony´ıtsa be, hogy a keletkezett f´aban a har- madfok´u cs´ucsok sz´ama O(logn).

3. 4/7: Illessz¨uk be az al´abbi 6 kulcsot egy kezdetben ¨ures 2–3 f´aba a megadott sorrendben: D, B, E, A, C, F. Rajzoljuk le az eredm´eny¨ul kapott f´at!

4. 4/8: Egy 2–3 f´aban egy rendezett halmaz 10 000 elem´et szeretn´enk t´arolni. Milyen korl´atok k¨oz´e esik a fa magass´aga?

5. 4/9: Az [1,178] intervallum ¨osszes eg´eszei egy 2–3 f´aban helyezkednek el. Tudjuk, hogy a gy¨ok´erben k´et kulcs van, ´es az els˝o kulcs a 17. Mi lehet a m´asodik? Mi´ert?

6. 4/10: Egy B20 f´anak (huszadrend˝u B f´anak) 109 levele van. Mekkora a fa szintjeinek minim´alis, illetve maxim´alis sz´ama?

7. 4/11: Egy 1 000 000 rekordb´ol ´all´o adat´allom´anyt B-f´aban szeretn´enk t´arolni. A rekordok hossza 200 byte. A kulcs hossza 40 byte. Egy mu- tat´o helyig´enye 5 byte. Tegy¨uk fel, hogy a lapm´eret 2000 byte. Adjunk min´el pontosabb fels˝o becsl´est a sz¨uks´eges lapok (blokkok) sz´am´ara!

8. ZH080328: Egy 15 cs´ucs´u 2–3 f´aban az 1, 2, 3, 4, 5, 6, 7, 8 elemeket t´aroljuk. Rajzolja le, hogy n´ez ki a fa! Hogyan v´altozik meg a fa, ha az 1 elemet t¨or¨olj¨uk? (Jelezze a t¨orl´es sor´an v´egrehajtott r´eszl´ep´eseket is!)

9. ZH090424: Egy 2–3 fa gy¨oker´enek h´arom fia van, a benne szerepl˝o k´et ´ert´ek 40 ´es 50. Mennyi lehet a t´arolt elemek minim´alis, illetve maxim´alis sz´ama, ha tudjuk, hogy csak pozit´ıv eg´esz sz´amokat t´arol a fa?

10. PPZH090519: Egy kezdetben ¨ures 2–3 f´aba az 1, 2, 3, 4, 5, 6, 7, 8 sz´amokat sz´urtuk be valamilyen sorrendben. Adjon meg egy olyan sor- rendet, amikor a keletkez˝o 2–3 fa nem teljes bin´aris fa lesz!

11. V090121: Hajtsa v´egre egy kezdetben ¨ures 2–3 f´an a k¨ovetkez˝o m˝uve- leteket:BESZ ´UR(2), BESZ ´UR(4), BESZ ´UR(8), BESZ ´UR(6), BESZ ´UR(7), BESZ ´UR(9), T ¨OR ¨OL(4). Minden m˝uvelet elv´egz´ese ut´an rajzolja le a f´at!

(23)

9. Hashel´ es

1. 6/1: Egy 1000000 rekordb´ol ´all´o adat´allom´anyt m´agneslemezen (v¨od- r¨os m´odszerrel) hashelt szervez´esben szeretn´enk t´arolni. A rekordok hossza 200 byte. Egy mutat´o helyig´enye 5 byte. Tegy¨uk fel, hogy a lapm´eret 2000 byte. Adjunk becsl´est a sz¨uks´eges lapok (blokkok) sz´am´ara azzal a feltev´essel, hogy a v¨od¨orkatal´ogust is a lemezen kell t´arolni!

2. 6/2: Egyu elem˝u halmaz elemeit egy v m´eret˝u v¨od¨orkatal´ogus seg´ıt- s´eg´evel tartjuk hashelt ´allom´anyban. Igazoljuk, hogy ak´armilyen j´o hash-f¨uggv´eny alkalmaz´asa eset´en is a keres´es Ω(u/v) id˝ot ig´enyel!

3. 6/3: Mutassuk meg, hogy (nyitott c´ımz´eses hashel´es, line´aris pr´ob´al´as eset´en) m´ar k´et kulcshoz tartoz´o hash ´ert´ekek megegyez´ese is okozhat ,,tetsz˝olegesen” nagy m´eret˝u csom´osod´ast!

4. 6/4: Mi a baja az f(K) = K2(mod 7) hash-f¨uggv´enynek, ahol 7 a t´ablam´eret?

5. 6/5: A hash-f¨uggv´eny legyen f(K) = K, a t´ablam´eret M = 7, ´es 1≤K≤20. Helyezz¨uk el a t´abl´aban a 3, 4, 7, 11, 14, 17, 20 kulcsokat ebben a sorrendben

(a) line´aris

(b) kvadratikus marad´ek

pr´ob´al´ast haszn´alva az ¨utk¨oz´esek felold´as´ara.

6. ZH060407: El˝ofordulhat-e nyitott c´ımz´eses hashel´es eset´en, hogy az n >3 m´eret˝u t´abl´aban csak 3 elem van, de a keres´es l´ep´essz´aman?

7. V931222: AT[0 :M−1] t´abl´aban rekordokat t´arolunk nyitott c´ımz´es˝u hashelt szervez´essel. Az ¨utk¨oz´esek felold´as´ara line´aris pr´ob´al´ast alkal- mazunk. Teh´at ha a h(K) sorsz´am´u cella foglalt, akkor a K kulcs´u rekordot ah(K) + 1, h(K) + 2, . . .sorsz´am´u cell´ak k¨oz¨ul az els˝o ¨uresbe tessz¨uk. Tegy¨uk fel, hogy a t´abla haszn´alata sor´an egy hib´as t¨orl´es t¨ort´ent: egy cell´ab´ol kit¨or¨olt¨unk egy rekordot a t¨orl´es-bit be´all´ıt´asa n´elk¨ul.

(a) Igaz-e, hogy a hib´as t¨orl´es helye mindig megtal´alhat´o?

(b) Adjon hat´ekony (line´aris id˝oig´eny˝u) algoritmust a t´abla megjav´ı- t´as´ara. (M´odos´ıtsa ´ugy a t´abl´at, hogy megsz˝unjenek a hib´as t¨orl´es negat´ıv k¨ovetkezm´enyei!)

(24)

8. V990611: A T[0 :M] t´abl´aban 2nelemet helyezt¨unk el az els˝o 3n he- lyen (3n < M) egy ismeretlen hash-f¨uggv´eny seg´ıts´eg´evel. A t´abl´aban minden 3i index˝u hely ¨uresen maradt 0 ≤ i < n. Legfeljebb h´any

¨

utk¨oz´es lehetett, ha az ¨utk¨oz´esek felold´as´ara (a) line´aris pr´ob´al´ast

(b) kvadratikus marad´ek pr´ob´al´ast haszn´altunk?

9. V000127: A T[0 : 10] t´abl´aban nyitott c´ımz´es˝u hashel´essel eg´eszeket t´arolunk. Ahhash-f¨uggv´eny aKeg´esz kulcshoz ah(K) :=K(mod 11) c´ımet rendeli. Az ¨utk¨oz´esek felold´as´ara kvadratikus marad´ek pr´ob´at alkalmazunk. El˝o´allhat-e az al´abbi helyzet egy ¨ures t´abl´aval indul´o, 1 t¨orl´esb˝ol ´es 9 besz´ur´asb´ol ´all´o m˝uveletsor eredm´enyek´ent? Csak a t´abl´aban lev˝o kulcsokat t¨untett¨uk fel, az esetleges t¨or¨olt jelet nem.

0 1 2 3 4 5 6 7 8 9 10

0 12 3 5 17 6 20 1

10. ZH9411??: Nyitott c´ımz´essel, line´aris pr´ob´al´as m´odszer´evel akarjuk a K1< K2 <· · ·< Knkulcs´u elemeket egy t¨ombbe hashelni a besz´ur´asi algoritmus k¨ovetkez˝o m´odos´ıt´as´aval: ha egy K kulcs´u elem besz´ur´as´a- nak megk´ıs´erl´esekor a K-n´al nagyobb K0 kulcs´u elem foglalja el a cell´at, akkor a K kulcs´u elem¨unket behelyezz¨uk ebbe a cell´aba, ´es a beilleszt´est K helyett a K0 kulcs´u elemmel folytatjuk a k¨ovetkez˝o cell´an´al (´es ha ott a K0-n´el nagyobb K00 kulcs´u elemet tal´aljuk, akor az el˝obbihez hasonl´oan j´arunk el). Bizony´ıtsuk be, hogy aznelem beil- leszt´ese ut´an kapott t¨omb f¨uggetlen az elemek besz´ur´asi sorrendj´et˝ol!

11. ZH9804??: Nyitott c´ımz´essel hashelt¨unk egy 11 elem˝u t´abl´aba ah(k) = k(mod 11) hash-f¨uggv´eny seg´ıts´eg´evel. A k¨ovetkez˝o kulcsok ´erkeztek (a megadott sorrendben): 10, 22, 31, 4, 15, 28, 17, 88, 59. Adjuk meg a t´abla v´egs˝o ´allapot´at a k¨ovetkez˝o k´et pr´obam´odszerre:

(a) line´aris pr´ob´al´as;

(b) kvadratikus marad´ek pr´oba!

12. V050526: A kezdetben ¨uresM m´eret˝u hash-t´abl´aba sorban beraktuk a k1, k2, . . . , knkulcsokat ah(x) =x(modM) hash-f¨uggv´ennyel, line´aris pr´ob´aval. Jel¨olje t1 a keletkezett t´abl´aban az egym´as melletti foglalt mez˝ok maxim´alis sz´amat. Amikor ugyanezt a k1, k2, . . . , kn sorozatot ugyanabban a sorrendben egy ¨ures 2M m´eret˝u t´abl´aba rakjuk be a h(x) = x(mod 2M) hash-f¨uggv´ennyel, line´aris pr´ob´aval, akkor a ka- pott t´abl´aban legyen t2 az egym´as melletti foglalt mez˝ok maxim´alis sz´ama.

(a) Igazolja, hogyt2≤t1.

(25)

(b) Igaz-e, hogyt1 ≤2t2?

13. ZH060408: Egymm´eret˝u hash-t´abl´aban m´ar van n´eh´any elem. Adjon O(m) l´ep´essz´am´u algoritmust, amely meghat´arozza, hogy egy ´ujabb elem line´aris pr´ob´aval t¨ort´en˝o besz´ur´asakor maximum h´any ¨utk¨oz´es t¨ort´enhet!

14. ZH070427: Egy kezdetben ¨ures M = 9 m´eret˝u hash-t´abl´aba a h(x) = x(mod 9) hash-f¨uggv´eny seg´ıts´eg´evel az adott sorrendben rakja be a 4, 27, 18, 13, 9, 10, 30 elemeket

(a) line´aris pr´ob´aval;

(b) kvadratikus pr´ob´aval.

Mindk´et esetben minden l´ep´es ut´an ´ırja le a kapott t¨omb¨ot, ´es jel¨olje, hogy az aktu´alis elem hol okozott ¨utk¨oz´est!

15. V020625: Nyitott c´ımz´essel hashelt¨unk egy 11 elem˝u t´abl´aba ah(k) = k(mod 11) hash-f¨uggv´eny ´es kvadratikus marad´ekpr´oba seg´ıts´eg´evel.

A k¨ovetkez˝o kulcsok ´erkeztek (a megadott sorrendben): 6, 5, 7, 17, 16, 3, 2, 14. Add meg a t´abla v´egs˝o ´allapot´at!

16. ZH090504: Egy kezdetben ¨ures 11 m´eret˝u hash-t´abl´aba a h(x)≡x(mod11)

hash-f¨uggv´ennyel, nyitott c´ımz´essel line´aris pr´ob´aval sz´urja be 30, 20, 56, 75, 31, 19 elemeket az adott sorrendben, majd t¨or¨olje a 75-¨ot! A t´abla ´allapot´at ´es az ¨utk¨oz´eseket mindegyik m˝uveletn´el jelezze! Az ´ıgy kapott t´abl´aban melyik elem (sikeres) keres´es´en´el fordul el˝o a legt¨obb l´ep´es?

17. V090127: Egy kezdetben ¨ures, M = 10k m´eret˝u T hash t´abl´aba 4k elemet sz´urtunk be line´aris pr´ob´al´assal. Ha imarad´eka 0, 1, 2 vagy 3 modulo 10, akkorT[i] nem ¨ures. Legfeljebb h´any ¨utk¨oz´es t¨ort´enhetett?

(26)

10. Gr´ afok bej´ ar´ asa

1. V020625: Adott egy n pont´u e´el˝u egyszer˝u, ¨osszef¨ugg˝o, ir´any´ıtatlan gr´af. Adj O(n+e) fut´asidej˝u algoritmust, ami megtal´al egy olyan pontot, ami nem artikul´aci´os pont. (Egy pont artikul´aci´os pont, ha elhagy´as´aval a gr´af t¨obb komponensre esik sz´et.)

2. V040603: Az ´ellist´aval adottGegyszer˝u ir´any´ıtatlan gr´afr´ol el akarjuk d¨onteni, hogy van-e olyan ´ele, amely G minden k¨or´eben benne van.

Adjon olyan algoritmust, amely eztO(n) l´ep´esben megoldja (ahol na Ggr´af cs´ucsainak sz´am´at jel¨oli).

3. ZH040329: Egy szigeten ny´ıl´o pizzasz´all´ıt´o c´eg triatlont kedvel˝o f˝on¨oke kik¨oti, hogy minden h´azhozsz´all´ıt´asn´al az ´ut els˝o r´esz´et ´uszva kell meg- tenni, a k¨ovetkez˝ot biciklivel, majd a v´eg´et futva. Azt az´ert megengedi, hogy egy vagy ak´ar t¨obb szakasz is kimaradjon (pl. ´usz´as ut´an r¨ogt¨on fut´as k¨ovetkezzen, vagy az eg´esz ´ut egyf´ele legyen, p´eld´aul csak bi- cikliz´esb˝ol ´alljon), de a k¨ozleked´esi m´odok sorrendj´et nem szabad fel- cser´elni. (A f˝on¨ok arr´ol gondoskodik, hogy ahol lehet biciklizni, ott legyen is mivel.) A v´arost egyG(V, E) ir´any´ıtatlan gr´af ´ırja le, a gr´afp cs´ucsa jel¨oli a pizz´az´ot. A gr´af ´ellist´aj´aval van megadva, az ´ellist´aban minden ´eln´el szerepel, hogy ott mely k¨ozleked´esi form´ak megengedet- tek, egyszerre ak´ar t¨obb is. Adjon O(|V|+|E|) l´ep´essz´am´u algorit- must annak meghat´aroz´as´ara, hogy a pizz´az´ob´ol a v´aros mely pontja- ira tud a c´eg a szab´alyok betart´as´aval sz´all´ıtani.

4. ZH070427: Tekints¨uk az olyan G ir´any´ıtott gr´afokat, amelyekben ha eltekint¨unk az ´elek ir´any´ıt´as´at´ol, akkor a kapott ir´any´ıtatlan G0 gr´af

¨

osszef¨ugg˝o. AGgr´af egy m´elys´egi bej´ar´as´an´al maxim´alisan h´any olyan cs´ucs lehet, amelyre a m´elys´egi ´es a befejez´esi sz´am megegyezik?

5. ZH081126: AGgr´af egyxpontj´ara igaz, hogy van olyanx-b˝ol ind´ıtott sz´eless´egi illetve m´elys´egi bej´ar´as melyek sor´an a sz´eless´egi sz´amoz´as megegyezik a m´elys´egi sz´amoz´assal. Mi lehet x? (Gr´af: AB, AC, AD, BC, BF, CF, DE, DF)

6. ZH030331: Egy n cs´ucs´u ir´any´ıtott gr´af m´elys´egi bej´ar´asa sor´an azt tapasztaltuk, hogy minden cs´ucsra a befejez´esi ´es a m´elys´egi sz´am k¨ul¨onbs´ege kisebb, mint n/4. Igazoljuk, hogy a gr´af er˝osen ¨osszef¨ugg˝o komponenseinek sz´ama legal´abb 4.

7. ZH060407: Legyen Gegy ir´any´ıtatlan ¨osszef¨ugg˝o gr´af. Igaz-e, hogy (a) Gmindenf ´el´ehez vanG-nek olyan m´elys´egi bej´ar´asa, amelyben

f egy fa´el?

(b) Gmindenf´el´ehez vanG-nek olyan sz´eless´egi bej´ar´asa, amelyben f egy fa´el?

(27)

(c) G minden F fesz´ıt˝of´aj´ahoz van G-nek olyan m´elys´egi bej´ar´asa, amelybenF minden ´ele fa´el?

(d) G minden F fesz´ıt˝of´aj´ahoz van G-nek olyan sz´eless´egi bej´ar´asa, amelybenF minden ´ele fa´el?

8. 7/19: ´Ellist´aval adott a s´ulyozott ´el˝u G = (V, E) gr´af. Tegy¨uk fel, hogy az ´elek s´ulyai az 1, 2, 3 sz´amok k¨oz¨ul val´ok. JavasoljunkO(n+e) k¨olts´eg˝u algoritmust azs∈V pontb´ol az ¨osszes t¨obbiv ∈V pontokba viv˝o legr¨ovidebb utak hossz´anak meghat´aroz´as´ara!

9. Az ´ellist´aj´aval adott al´abbi G gr´afot j´arja be m´elys´egi bej´ar´assal, az a cs´ucsb´ol indulva. Adja meg a m´elys´egi ´es befejez´esi sz´amokat, ´es oszt´alyozza a gr´af ´eleit!G: a: b, c; c: d, e, f; d: f, g; e: b; g: h; h: d, b.

10. ´Ellist´aj´aval adottak a G1 ´esG2 gr´afok.

G1: a: b(3), c(8); b: d(–7); c: d(5); d: e(2); e: a(–10).

G2: a: b(2), e(1), f(–2); b: c(8), e(–7); d: c(−π); e: c(100), d(5); f: d(3), e(8).

(a) D¨onts¨uk el m´elys´egi bej´ar´as seg´ıts´eg´evel, hogy ezek a gr´afok DAG-ok-e!

(b) Amelyik gr´af DAG, abban adjunk meg egy topologikus sorren- det, hat´arozzuk meg az a jel˝u cs´ucsb´ol az ¨osszes t¨obbibe ve- zet˝o legr¨ovidebb utak hossz´at, ´es sz´am´ıtsuk ki a gr´afban lev˝o leghosszabb ´ut hossz´at is!

11. Bizony´ıtsuk be, hogy minden hurok´elmentes G = (V, E) ir´any´ıtott gr´af felbonthat´o k´et DAG-ra; pontosabban az ´elhalmaz´anak van olyan E1, E2 part´ıci´oja (E=E1∪E2 ´es E1∩E2 =∅), hogy a G1 = (V, E1)

´es aG2 = (V, E2) gr´afok DAG-ok!

12. Kutyas´et´altat´askor egy parkban egy gazda egy r¨ogz´ıtett, egyenes sza- kaszokb´ol ´all´o ´utvonalon halad, aminek t¨or´espontjai t1, . . . , tn, a be- j´aratot jel¨olje t0, a kij´aratot tn+1. A kutya szabadon szaladg´al, de a ti pontokban tal´alkozik a gazd´aj´aval. A ti ´es ti+1 pontokban val´o tal´alkoz´as k¨ot¨ott a kutya szeretne egy f´at is megl´atogatni (minden i = 0,1, . . . , n eset´en legfeljebb egyet-egyet). Legyenek adottak az s(ti, ti+1) t´avols´agok (0 ≤ i ≤ n), valamint minden f´anak az ¨osszes ti pontt´ol vett t´avols´aga. Tegy¨uk fel, hogy k´et tal´alkoz´as k¨oz¨ott a ku- tya legfeljebb k´etszer akkora t´avols´agot tud megtenni, mint a gazd´aja.

Adjon algoritmust, ami seg´ıt a kuty´anak eld¨onteni, hogy mikor melyik f´at l´atogassa meg, ha a kutya c´elja, hogy min´el t¨obb f´an´al j´arjon! Az algoritmus l´ep´essz´ama legyenO(n2f+nf2), aholf a parkban lev˝o f´ak sz´am´at jel¨oli.

(28)

13. 7/14: A 6 pont´uGgr´af cs´ucsait jel¨oljex, y, z, u, v, w. A gr´af egy m´ely- s´egi bej´ar´as´an´al a m´elys´egi, illetve a befejez´esi sz´amok a k¨ovetkez˝ok:

x: 1,6; y: 2,4; z: 6,5; u: 3,3; v: 4,1; w: 5,2. Adjuk meg a bej´ar´ashoz tartoz´o m´elys´egi fesz´ıt˝ofa ´eleit! Rekonstru´alhat´o-eG az el˝oz˝o sz´amok ismeret´eben?

14. PPZH081217: Az el˝oad´ason tanult algoritmussal hat´arozza meg az A- b´ol a t¨obbi pontba vezet˝o leghosszabb utak hossz´at az al´abbiGgr´afban az xval´os param´eter f¨uggv´eny´eben!s(A, B) = 9,s(A, D) = 2,

s(A, E) = 5, s(B, C) = 4, s(D, E) = 1, s(D, F) = 7, s(E, B) = 3, s(E, F) =x,s(F, B) =−1,s(F, C) = 5.

15. ZH090424: Egy kezd˝o aut´ovezet˝o a v´arosban val´o k¨ozleked´ese sor´an szeretne gyakorlat´anak megfelel˝o ´utvonalat v´alasztani. Az ´uth´al´ozat egy ir´any´ıtatlan gr´afk´ent van megadva, a cs´ucsok a keresztez˝od´esek, az ´elek az utak, a cs´ucsokn´al adott, hogy neh´ez-e sz´am´ara az a ke- resztez˝od´es. (Az, hogy neh´ez, a keresztez˝od´es tulajdons´aga, nem azon m´ulik, hogy merr˝ol ´erkezik oda ´es merre akar rajta ´athaladni.) ´Irjon le egy algoritmust, amivel meg lehet hat´arozni, hogy az aut´os az egyik adott cs´ucsn´al lev˝o otthon´ab´ol, mely cs´ucsokba tud aut´oval ´ugy el- jutni, hogy ´utja sor´an k´et neh´ez keresztez˝od´es soha nem j¨on k¨ozvet- len¨ul egym´as ut´an. Az algoritmus l´ep´essz´ama ´ellist´as megad´as eset´en legyenO(n+e), ahol na cs´ucsok ´es eaz ´elek sz´ama.

16. PPZH090519: Egy G = (V, E) gr´af m´elys´egi bej´ar´asa sor´an minden cs´ucshoz fel´ırtuk a m´elys´egi ´es a befejez´esi sz´am´at. Adjon algoritmust, ami a gr´af ismerete n´elk¨ul, csak ezekb˝ol a sz´amp´arokb´ol elk´esz´ıti a bej´ar´ashoz tartoz´o m´elys´egi fesz´ıt˝oerd˝o ´ellist´aj´atO(|V|) l´ep´esben!

17. PPZH090519: Van-e olyan 5 pont´u DAG, aminek pontosan 4 k¨ul¨onb¨oz˝o topologikus rendez´ese van?

18. PZH081126: AGgr´af egyxpontj´ara igaz, hogy van olyanx-b˝ol ind´ıtott sz´eless´egi illetve m´elys´egi bej´ar´as, melyek sor´an a sz´eless´egi sz´amoz´as megegyezik a m´elys´egi sz´amoz´assal. Mi lehetx? (A: B, C, D; B: A, C, F; C: A, B, F; D: A, E, F; E: D; F: B, C, D.)

19. PZH081126: Sormint´at szeretn´enk ´ep´ıteni t¨obbf´ele sz´ın˝u ´es m´eret˝u ko- rongb´ol. Ehhez adottak az (m1, c1),(m2, c2), . . . ,(mn, cn) p´arok, ahol mi ∈ N ´es ci ∈ N az i-edik korong m´eret´et illetve sz´ın´enek k´odj´at jel¨oli. Minden sz´ın legfeljebb 10 korongon szerepel. A sormint´aban minden korong ut´an egy n´ala szigor´uan nagyobbnak kell k¨ovetkeznie,

´es emellett mindenc sz´ınhez adott azon sz´ınekL(c) list´aja, ami meg- hat´arozza, hogy milyen sz´ın˝u korongok ´allhatnak egy c sz´ın˝u korong mellett. Ezen list´ak ¨osszhossza l. Adjon O(n+l) l´ep´essz´am´u algorit- must a leghosszabb sorminta megtal´al´as´ara!

(29)

11. Minim´ alis k¨ olts´ eg˝ u fesz´ıt˝ of´ ak

1. V040603: Az ´ellist´aval adottGegyszer˝u ir´any´ıtatlan gr´afr´ol el akarjuk d¨onteni, hogy van-e olyan ´ele, amely G minden k¨or´eben benne van.

Adjon algoritmust, amely ezt O(n) l´ep´esben megoldja (ahol n a G gr´af cs´ucsainak sz´am´at jel¨oli).

2. V070529: ´Irjon le egy olyan adatszerkezetet, amivel eg´esz sz´amok v´eges sok r´eszhalmaz´at t´arolhatjuk, ha minden t´aroland´o Ti halmaznak v´e- ges sok eleme van.

H´arom m˝uveletet defini´alunk, a BESZ ´UR l´ep´essz´ama legyen O(|Ti|), a m´asik k´et m˝uvelet´e pedig O(|Ti|+|Tj|).

• BESZ ´UR(i,x): aTi halmazhoz hozz´aveszi az x eg´esz sz´amot.

• METSZETM ´ERET(i,j): megadja a k´et halmaz metszet´enek|Ti∩ Tj|elemsz´am´at.

• UNI ´OM ´ERET(i,j): megadja a k´et halmaz uni´oj´anak |Ti ∪Tj| elemsz´am´at.

3. A G(V, E) egyszer˝u ¨osszef¨ugg˝o gr´af minden f ´el´ehez egy s(f) s´ulyt rendelt¨unk. Legyen F1 ´esF2 a G gr´af k´et k¨ul¨onb¨oz˝o, minim´alis s´uly´u fesz´ıt˝of´aja. Jel¨oljef1 azF1 fa egy tetsz˝oleges ´el´et. Bizony´ıtsa be, hogy van azF2 f´anak olyanf2 ´ele, hogys(f1) =s(f2)!

4. V050609: LegyenGegy ¨osszef¨ugg˝o gr´af, az ´elein pozit´ıv ´els´ulyokkal. A Ggr´afnak most csak az olyan fesz´ıt˝of´ai ´erdekelnek minket, melyekben legfeljebb 3 darab nem els˝ofok´u pont van. Adjon polinomidej˝u algo- ritmust, amely meghat´aroz az ilyen tulajdons´ag´u fesz´ıt˝of´ak k¨oz¨ul egy minim´alis s´uly´ut!

5. G ir´any´ıtatlan gr´af a k¨ovetkez˝o ´ellist´aval (z´ar´ojelben a k¨olts´egek, az

´elek mindk´et v´egpontjukb´ol fel vannak sorolva): a:b(2,c(3); b:a(2),d(2);

c:a(3),d(1); d:b(2),c(1),e(2),f(4); e:d(2),f(1),g(2); f:d(4),e(1),g(2),h(1);

g:e(2),f(2),h(3); h:f(1),g(3).

Keress¨unk G-ben minim´alis k¨olts´eg˝u fesz´ıt˝of´at (a) Prim algoritmus´aval;

(b) Kruskal algoritmus´aval;

(c) Bor˚uvka algoritmus´aval!

6. A szoftverpiacon n f´ele grafikus form´atum k¨oz¨otti oda-vissza kon- verzi´ora haszn´alatos programok kaphat´ok: azi-edik ´es aj-edik k¨oz¨ott oda-vissza ford´ıt´o program ´araaij, fut´asi ideje pedigtij (ha l´etezik).

(30)

(a) Javasoljunk m´odszert annak megtervez´es´ere, hogy minden egyes form´atumr´ol a saj´at grafikus termin´alunk ´altal meg´ertett form´a- tumra a lehet˝o leggyorsabban konvert´aljunk! (Az ´ar nem sz´am´ıt.) (b) Javasoljunk m´odszert annak eld¨ont´es´ere, hogy mely programokat v´as´aroljuk meg, ha azt szeretn´enk a lehet˝o legolcs´obban meg- oldani, hogy a megvett programok seg´ıts´eg´evel b´armelyik form´a- tumr´ol b´armelyik m´as form´atumra k´epesek legy¨unk konvert´alni.

(Itt a fut´asi id˝o nem sz´am´ıt.)

7. M´atrix´aval adott egy G(V, E) ir´any´ıtott gr´af, melynek minden ´el´ehez egy pozit´ıv s´uly tartozik. A gr´af minden cs´ucsa vagy egy rakt´arat, vagy egy boltot jelk´epez, az ´els´ulyok a megfelel˝o t´avols´agokat jelen- tik. OlyanG0 r´eszgr´afj´at keress¨ukG-nek amely minden cs´ucsot tartal- maz, ´es amelyben minden bolthoz van legal´abb egy rakt´ar, ahonnan oda tudunk sz´all´ıtani (azaz van k¨ozt¨uk ´ut a gr´afban). Adjon O(n2) l´ep´essz´am´u algoritmust egy, a felt´eteleknek megfelel˝o minim´alis ¨ossz- s´uly´u G0 r´eszgr´af megkeres´es´ere!

8. Ir´any´ıtatlan gr´af t´arol´as´ara adjon meg egy adatszerkezetet az al´abbi m˝uveletekkel:

• UJCS ´´ UCS(v): a gr´afhoz hozz´aad egy ´uj cs´ucsot;

• UJ ´´ EL(u,v): a m´ar l´etez˝o u´es v cs´ucsok k¨oz´e felvesz egy ´elet;

• VAN ´UT(u,v):igen ´ert´eket ad vissza, ha vezet az u ´es v cs´ucsok k¨oz¨ott ´ut, egy´ebk´ent pedignem ´ert´eket.

Ha a t´arolt gr´afnak n cs´ucsa van, akkor mindh´arom m˝uvelet l´ep´es- sz´ama legyen O(logn).

9. Legyen adva egy (egyszer˝u, ir´any´ıtatlan, ¨osszef¨ugg˝o)n pont´u G gr´af

´ellist´aval, az ´elek s´ulyoz´as´aval egy¨utt. Tegy¨uk fel, hogy a G-b˝ol a v1 cs´ucs, valamint a v1-re illeszked˝o ´elek elhagy´as´aval keletkez˝o G0 gr´af m´eg mindig ¨osszef¨ugg˝o, ´es adottG0 egy minim´alis k¨olts´eg˝u fesz´ıt˝of´aja.

Adjunk min´el hat´ekonyabb algoritmust a G gr´af egy minim´alis k¨olt- s´eg˝u fesz´ıt˝of´aj´anak az elk´esz´ıt´es´ere! (Teljes ´ert´ek˝u megold´as:O(nlogn) idej˝u algoritmus.)

10. Legyen G= (V, E) egy s´ulyozott ir´any´ıtatlan gr´af, amiben minden ´el s´ulya pozit´ıv. Tegy¨uk fel, hogy G ¨osszef¨ugg˝o, de nem teljes gr´af. A G gr´afhoz egy 0 s´uly´u ´elet akarunk hozz´aadni ´ugy, hogy a keletkez˝o G0 gr´afban a minim´alis fesz´ıt˝ofa s´ulya a lehet˝o legkisebb legyen. Ad- jon algoritmust, ami a m´atrix´aval adott G gr´afra O(|V|3) l´ep´esben meghat´arozza, hogy melyik k´et, a G-ben nem ¨osszek¨ot¨ott pont k¨oz´e h´uzzuk be az ´uj ´elet.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Minden attrib´ utum val´ os Ha a line´ aris kombin´ aci´ o pozit´ıv els˝ o oszt´ aly. Feladatunk megfelel˝ o (nem optim´ alis!) w s´ ulyok

Ez´ ert G b´ armely minv´ ag´ asa olyan, hogy megkaphat´ o a kit¨ untetett v-t egy alkalmas u cs´ ucst´ ol szepar´ al´ o minim´ alis v´ ag´ ask´ ent

Adjon algoritmust, ami O(Ln 2 ) l´ ep´ esben megmondja, hogy hol ´ alljunk meg tankolni ha azt akarjuk, hogy utunk sor´ an a benzink¨ olts´ eg minim´

Sz´am´ıtsuk ki, mennyi id˝o alatt reag´al el az ecetsav 93 %-a, ´es maxim´alisan mennyi ket´en nyerhet˝o 1 mol/dm 3 ecetsavb´ol az adott k¨or¨ ulm´enyek k¨oz¨ott.?.

Ha az LP-laz´ıt´ as lehets´ eges megold´ ashalmaz´ anak minden cs´ ucspontja eg´ esz, akkor van eg´ esz optim´ alis megold´ asa ami az IP megold´ asa is egyben... Az

Az eg´ esz´ ert´ ek˝ u programoz´ as f˝ o neh´ ezs´ ege abban rejlik, hogy a lehets´ eges megold´ asokb´ ol ´ all´ o poli´ edernek esetleg nem eg´ esz koordin´ at´ aj´

Val´ osz´ın˝ us´ egsz´ am´ıt´ asi alapok Norm´ alis eloszl´ as.. Centr´ alis hat´ areloszl´

Vannak glob´ alis le´ır´ok, amelyek alkalmazhat´oak 2.5D- s esetben [20], ´es a legt¨ obb lok´alis le´ır´o kiterjeszthet¨o glob´ aliss´a, ha az eg´esz pontfelh˝ ot egy