• Nem Talált Eredményt

Algoritmusok ´es gr´afok NEGYEDIK GYAKORLAT, 2019. okt´ober 4.

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Algoritmusok ´es gr´afok NEGYEDIK GYAKORLAT, 2019. okt´ober 4."

Copied!
2
0
0

Teljes szövegt

(1)

Algoritmusok ´ es gr´ afok

NEGYEDIK GYAKORLAT, 2019. okt´ ober 4.

1. A tanult ¨osszef´es¨ul´es elj´ar´ast hajtsa v´egre az 1,3,10,21 ´es 2,5,6,8 rendezett t¨omb¨ok¨on, l´ep´esr˝ol l´ep´esre jelezve, hol tartunk a k´et input t¨ombben ´es hogyan v´altozik a kimeneti t¨omb.

2. Futassa le a 8,1,10,23,7,2,9,11,4 inputon az ¨osszef´es¨ul´eses rendez´est.

3. (Vizsga 2018)Az ´or´an tanult ¨osszef´es¨ul´es elj´ar´ast futtatjuk az 1,3,5,9 ´es 2,10, y,15,16 rendezett t¨omb¨ok¨on, ahol y´ert´eke nem ismert.

(a) H´any ¨osszehasonl´ıt´asban vesz r´eszt a 9-es ´ert´ek ´es mi´ert?

(b) H´any ¨osszehasonl´ıt´asban vesz r´eszt az y elem ´es mi´ert?

4. Adott egy t¨ombben n ≥ 2 darab k¨ul¨onb¨oz˝o sz´am ´es szeretn´enk megtal´alni azt a p´art, melynek k¨ul¨onbs´ege minim´alis (vagyis keress¨uk a legk¨ozelebbi sz´amp´art). Adjon erre a feladatra O(nlogn)

¨

osszehasonl´ıt´ast haszn´al´o algoritmust.

5. (ZH 2018) Egy n ≥ 3 elem˝u rendezett t¨ombben pontosan h´arom k¨ul¨onb¨oz˝o ´ert´ek szerepel. Adjon O(logn) l´ep´essz´am´u algoritmust ennek a h´arom ´ert´eknek a megkeres´es´ere. P´eld´aul ha az input 0,0,1,1,1,8, akkor az elv´art kimenet 0,1,8.

6. Egy t¨ombbenn≥2 darab eg´esz sz´amot t´arolunk, ugyanaz a sz´am t¨obbsz¨or is szerepelhet. Hat´arozzuk meg O(nlogn) l´ep´esben

(a) az ¨osszes olyan sz´amot, ami t¨obbsz¨or szerepel

(b) a leggyakoribb sz´amokat, vagyis azokat, amelyekn´el t¨obbsz¨or semelyik m´asik sz´am sem fordul el˝o a t¨ombben.

7. Egy csupa k¨ul¨onb¨oz˝o eg´eszekb˝ol ´all´o sorozatbitonikus, ha el˝osz¨or n˝o, ut´ana pedig fogy, vagy ford´ıtva:

el˝osz¨or fogy, ut´ana n˝o. P´eld´aul az (1,3,7,21,12,9,5), (9,7,5,4,6,8) ´es (1,2,3,4,5) sorozatok bitonikusak.

AdjunkO(n) ¨osszehasonl´ıt´ast haszn´al´o rendez˝o algoritmustnelem˝u bitonikus sorozatok rendez´es´ere!

8. Legyen adott egy eg´eszekb˝ol ´all´on m´eret˝uAt¨omb valamint egyb eg´esz sz´am. Szeretn´enk eld¨onteni, hogy vannak-e olyan A[i] ´es A[j] elemek a t¨ombben, melyek ¨osszege b. Oldjuk meg ezt a feladatot O(nlogn) l´ep´esben!

(2)

9. Egy t¨omb¨ot nevezz¨unk csinosnak, ha benne a sz´amok egy darabig n˝onek, azt´an meg v´egig cs¨okkennek.

AdjonO(logn) l´ep´essz´am´u algoritmust, ami megtal´alja egy csinos t¨omb t¨or´espontj´at: azt az indexet, ahol a fordulat bek¨ovetkezik.

10. Azn m´eret˝u 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´alasztk k¨ul¨onb¨oz˝o elemet az At¨ombb˝ol ´ugy, hogy a kiv´alasztott elemek

¨

osszege nem t¨obb mint k3. Ha nincs ilyen k, akkor az algoritmus jelezze ezt a t´enyt. Az algoritmus l´ep´essz´ama legyen O(nlogn). (K´et sz´am ¨osszehasonl´ıt´asa, ¨osszead´asa vagy szorz´asa egy l´ep´esnek sz´am´ıt.)

11. Adott egyn darab csupa k¨ul¨onb¨oz˝o eg´esz sz´amot n¨ovekv˝o sorrendben tartalmaz´o t¨omb. (A t¨ombben negat´ıv sz´amok is lehetnek!) AdjunkO(logn) l´ep´essz´am´u algoritmust egy olyaniindex meghat´aroz´as´ara, melyre A[i] =i (felt´eve, hogy van ilyen i).

12. A csupa k¨ul¨onb¨oz˝o val´os sz´amokb´ol ´all´o a0, . . . , an−1 sorozatot szeretn´enk ´ugy ´atrendezni, hogy az

´

uj sorrendben ai0 < ai1 > ai2 < ai3. . . teljes¨ulj¨on.

Adjon erre a feladatra O(nlogn) l´ep´essz´am´u algoritmust.

13. Egy k¨ul¨onb¨oz˝o eg´esz sz´amokat tartalmaz´o t¨ombben k´et elem akkor ´all inverzi´oban, ha i < j, de A[i] > A[j], vagyis a nagyobb sz´am megel˝ozi a kisebbet. (P´eld´aul a 15 ´es a −3 inverzi´oban ´all a 8,15,1,10,−3 t¨ombben.)

(a) H´any inverzi´o van a 2,5,1,10,3 t¨ombben?

(b) Adjon trivi´alis (brute-force) algoritmust az inverzi´ok sz´am´anak meghat´aroz´as´ara! Mennyi ennek az algoritmusnak a l´ep´essz´ama?

(c) (?) Adjon O(nlogn) l´ep´essz´am´u algoritmust a feladatra.

(Seg´ıts´eg: pr´ob´aljuk meg meglovagolni az ¨osszef´es¨ul´eses rendez´est.)

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

(a) Rajzolja le az al´ abbi szomsz´ edoss´ agi m´ atrix-szal adott

Az F elemein a talppontjaik r-t˝ ol val´ o t´ avols´ ag´ anak cs¨ okken˝ o (pontosabban nemn¨ ovekv˝ o) sorrendj´ eben v´ egighaladva moh´ on v´ alasztott diszjunkt r´ eszf´

Az algoritmus lefut´ asa sor´ an minden cs´ ucs az el´ eretlen-el´ ert-befejezett evol´ uci´ on megy kereszt¨ ul.. Ekkor minden cs´ ucs

Ha t¨ obb stabil p´ aros´ıt´ as is van, akkor van ezek k¨ oz¨ ott olyan is, amiben minden fi´ u a sz´ am´ ara stabil p´ aros´ıt´ asban el´ erhet˝ o legjobb feles´ eget

Adjon O(log n) elemsz´ am´ u elj´ ar´ ast, ami eld¨ onti, hogy igaz-e, hogy az els˝ o fa minden eleme nagyobb, mint a m´ asodik fa minden eleme. (Eml´ ekeztet˝ o¨ ul: a teljes

Algoritmusok ´ es gr´ afok. TIZENEGYEDIK

Ezt a gondolatot folytatva kapjuk, hogy ekkor a fa sz¨ uks´ egk´ eppen egy jobbra tart´ o egyenes ´ ut, ezen vannak a gy¨ ok´ ert˝ ol lefele haladva az

Enn´ el a megold´ asn´ al mindegyik cella egy list´ at tartalmaz, a list´ at azon elemek alkotj´ ak, amikre a hash f¨ uggv´ eny a cella index´ et adja vissza.. Mutassa meg,