• Ei tuloksia

58053-7 Algoritmien suunnittelu ja analyysi (kev¨ at 2004) Harjoitus 3 (12.–13. helmikuuta)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "58053-7 Algoritmien suunnittelu ja analyysi (kev¨ at 2004) Harjoitus 3 (12.–13. helmikuuta)"

Copied!
1
0
0

Kokoteksti

(1)

58053-7 Algoritmien suunnittelu ja analyysi (kev¨ at 2004) Harjoitus 3 (12.–13. helmikuuta)

1. Ratkaise generoivia funktioita k¨aytt¨aen rekursioyht¨al¨o t0= 3, t1= 3,

tn=tn−1+ 2tn−2, n≥2.

2. Tarkastellaan seuraavaa algoritmia taulukonA[1. . . n] minimin ja maksimin m¨a¨ar¨a¨amiseksi:

MinMax(A[1. . . n]):

max :=A[1]

min :=A[1]

fori:= 2 tondo

ifA[i]>maxthenmax :=A[i]

else ifA[i]<minthenmin :=A[i]

end for

Halutaan m¨a¨ar¨at¨a algoritmin tekemien vertailujen (A[i] >MAX tai A[i] <MIN) lukum¨a¨ar¨an odotusarvoTave(n). Osoita, ett¨a funktiolleTave(n) p¨atee palautuskaava

Tave(1) = 0, Tave(n) = 1 n

n−1

X

i=1

Tave(i)

!

+n−1

n kun n≥2. (1)

(Vihje: jaa tarkastelu sen mukaan, mik¨a on taulukon suurimman alkion indeksi.)

3. Ratkaise edellisess¨a teht¨av¨ass¨a saatu rekursioyht¨al¨o (1) tarkasti (siis vakiokertoimet ja alemman kertaluokan termit mukaanlukien). (Vihje: Tarkastelemalla kombinaatiotaa·Tave(n)−b·Tave(n−

1), miss¨a a ja b riippuvat parametrista n sopivalla tavalla, voit eliminoida palautuskaavasta summauksen. Vastauksessa esiintyy summaHn =Pn

i=1(1/i).)

4. Palautetaan mieliin bin¨a¨arinen etsint¨apuu, jossa ei k¨aytet¨a mit¨a¨an tasapainotusta tms. ja alkiot talletetaan sis¨asolmuihin. Siis alkioiden 7, 2, 9, 0, 5, 6, 8, 1 lis¨a¨aminen aluksi tyhj¨a¨an puuhun tuottaa tuloksen

7

2

0 5

1 6

9

8

ja solmun lis¨a¨aminen tasolle i edellytt¨a¨a i vertailua. Osoita, ett¨a lis¨att¨aess¨a n alkioita aluksi tyhj¨a¨an puuhun tarvittavien vertailujen lukum¨a¨ar¨a on keskim¨a¨arin Θ(nlogn) ja pahimmassa tapauksessa Θ(n2). (Vihje: keskim¨a¨ar¨aisen tapauksen rekursioyht¨al¨o on samaa tyyppi¨a kuin teht¨av¨an 2 yht¨al¨o. Lis¨aapua l¨oytyy tarvittaessa oppikirjoista.)

5. Tarkastellaan luennolla esitetty¨a sanakirjaongelmaa, kun k¨asitelt¨av¨an¨a on kolme alkiota ja niihin kohdistuvien access-operaatioiden todenn¨ak¨oisyydet ovatp1= 1/2,p2= 1/4 jap3= 1/4. Laske algoritmien DP ja MF asymptoottiset keskim¨a¨ar¨aiset suoritusajatTaveDPjaTaveMF.

Viittaukset

LIITTYVÄT TIEDOSTOT

Hahmottele simuloitua j¨ a¨ ahdytyst¨ a k¨ aytt¨ av¨ a ratkaisumenetelm¨ a NP-t¨ aydelliselle solmupeiteon- gelmalle ( Vertex Cover ).. Valitse sopiva kustannusfunktio ja

Osoita, ett¨ a luokkaan perustuva tasapainotus ilman mit¨ a¨ an polkujen tiivist¨ amist¨ a takaa Union- Find-operaatioiden suorituksen ajassa O(log n) per operaatio..

Suunnittele tehokas algoritmi, joka etsii vieruslistoina esitetyn suunnatun ver- kon jonkin alkusolmun, mik¨ ali verkossa sellaisia on.. Miten muuttaisit algoritmia, jos teht¨ av¨ an¨

Suunnittele tehokas algoritmi, joka l¨ oyt¨ a¨ a vieruslistoina esitetyst¨ a yhten¨ aisest¨ a suuntaamatto- masta verkosta solmun, joka ei ole artikulaatiopiste.. Algoritmisi tulee

Osoita, miten seuraavat ongelmat voidaan ratkaista palauttamalla ne tavalliseen maksimi- vuonm¨ a¨ ar¨ a¨ amisongelmaan:.. (a) M¨ a¨ ar¨ a¨ a maksimivuo verkossa, jossa kaarten

Osoita, ett¨ a jos solmupeiteongelman p¨ a¨ at¨ osversio VC (joka siis on NP-t¨ aydellinen) osattaisiin ratkaista polynomisessa ajassa, niin my¨ os vastaava etsint¨

Osoita, miten algoritmista B saadaan aina polynomisessa ajassa toimiva algoritmi, joka ainakin todenn¨ ak¨ oisyydell¨ a 1/2 vastaa oikein ja muuten vastaa.. ”en

Todista, ett¨a kilpailijat voidaan jakaa kah- teen huoneeseen niin, ett¨a suurikokoisin toisessa huo- neessa oleva klikki on samankokoinen kuin suurikokoi- sin toisessa huoneessa