• Nem Talált Eredményt

Algoritmusok ´ es gr´ afok

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Algoritmusok ´ es gr´ afok"

Copied!
1
0
0

Teljes szövegt

(1)

Algoritmusok ´ es gr´ afok

M ´ ASODIK GYAKORLAT, 2018. szeptember 14.

1. Futassa le a 8,1,10,23,7,2,9,11,4 inputon a

(a) kiv´alaszt´asos rendez´est (b) besz´ur´asos rendez´est (c) ¨osszef´es¨ul´eses rendez´est.

2. Adott n darab k¨ul¨onb¨oz˝o sz´am, a0, a1, . . . , an−1, ´es szeretn´enk megtal´alni azokat, amikre

|ai−aj|minim´alis (vagyis keress¨uk a legk¨ozelebbi sz´amp´art). Adjon erre a feladatra O(nlogn)

¨

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

3. Egy t¨ombbenndarab 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.

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

5. Egy csupa k¨ul¨onb¨oz˝o eg´eszekb˝ol ´all´o sorozat bitonikus, 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. Adjunk O(n) ¨osszehasonl´ıt´ast haszn´al´o rendez˝o algoritmust n elem˝u bitonikus sorozatok rendez´es´ere!

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

7. Az n 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´alaszt k k¨ul¨onb¨oz˝o elemet az A t¨ombb˝ol ´ugy, hogy a kiv´alasztott elemek ¨osszege nem t¨obb mintk3. Ha nincs ilyenk, 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.)

8. 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 Bellman-Ford algoritmust futtatjuk az s cs´ ucsb´ ol kiindulva az al´ abbi gr´ afban, a t´ abl´ azat a T t¨ omb alakul´ as´

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

Adjon O(ke log n) l´ep´essz´ am´ u algoritmust, amely meghat´ arozza az A-b´ol B-be viv˝ o legr¨ovidebb olyan ´ utvonalat, melynek sor´ an soha nem kell 600 kilom´etern´el t¨

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´

Algoritmusok ´ es gr´ afok. HARMADIK

(Ha egy ugr´ as levezetne a t´ abl´ ar´ ol, akkor azt nem hajthatjuk v´ egre.) Adjon algoritmust, ami O(n 2 ) l´ ep´ esben meghat´ arozza, hogy legkevesebb h´ any ugr´ assal

A l´ ep´ essz´ am pontos meghat´ aroz´ asa helyett ´ altal´ aban elegend˝ o a l´ ep´ essz´ am nagys´ agrendj´ enek meghat´ aroz´ asa, ebb˝ ol m´ ar (kis ´ ovatoss´ aggal)