• Ei tuloksia

58053-7 Algoritmien suunnittelu ja analyysi (kev¨at 2004) Harjoitus 10 (1.–2. huhtikuuta)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "58053-7 Algoritmien suunnittelu ja analyysi (kev¨at 2004) Harjoitus 10 (1.–2. huhtikuuta)"

Copied!
1
0
0

Kokoteksti

(1)

58053-7 Algoritmien suunnittelu ja analyysi (kev¨ at 2004) Harjoitus 10 (1.–2. huhtikuuta)

1. Pit¨av¨atk¨a seuraavat verkonGsyvyyssuuntaista hakua koskevat v¨aitt¨am¨at paikkansa? Perustele.

(a) Jos solmusta u on polku solmuun v ja kutsu DFS-Visit(u) alkaa ennen kutsua DFS-Visit(v), niin solmuv on solmunuj¨alkel¨ainen syvyyssuuntaisessa viritt¨av¨ass¨a puus- sa.

(b) Jos solmusta u on polku solmuun v, niin kutsu DFS-Visit(v) alkaa ennenkuin kutsu DFS-Visit(u) p¨a¨attyy.

(c) Jos solmuun u tulee ja siit¨a l¨ahtee ainakin yksi kaari, se ei voi p¨a¨aty¨a omaksi puukseen syvyyssuuntaisessa viritt¨av¨ass¨a mets¨ass¨a.

2. Sanotaan, ett¨a suunnatun verkon G = (V, E) solmu u on alkusolmu, jos verkon kaikki muut solmut voidaan saavuttaa solmusta u, so. jos kuhunkin muuhun solmuun johtaa solmusta u suunnattu polku. Suunnittele tehokas algoritmi, joka etsii vieruslistoina esitetyn suunnatun ver- kon jonkin alkusolmun, mik¨ali verkossa sellaisia on. Miten muuttaisit algoritmia, jos teht¨av¨an¨a olisi m¨a¨aritt¨a¨a verkonkaikki alkusolmut?

3. Suunnattu syklit¨on verkkoG= (V, E) on esitetty vieruslistoina. Lis¨aksi on annettu kaksi verkon solmua u, v ∈ V. Esit¨a tehokas algoritmi, joka laskee,kuinka monta erilaista polkua verkossa on solmustausolmuun v. Polut lasketaan erilaisiksi, jos ne poikkeavat yhdenkin solmun osalta toisistaan.

4. M¨a¨arit¨a alla olevan verkon vahvasti yhten¨aiset komponentit luennolla esitetyll¨a algoritmilla. Ole- ta, ett¨a solmut ovat vieruslistoissa aakkosj¨arjestyksess¨a ja algoritmi aloittaa verkon tutkimisen solmustaa.

@

@@ I

@

@@R

@

@@R

-

? 6

a b

d

e

f

g

c h

5. Esit¨a syvyyssuuntaiseen etsint¨a¨an perustuva algoritmi, joka testaa, onko suuntaamaton verkko syklit¨on. Mik¨a on algoritmisi aikavaatimus?

Miten algoritmiasi pit¨aisi muuttaa, ett¨a se toimisikin suunnatuilla verkoilla?

Viittaukset

LIITTYVÄT TIEDOSTOT

Oletetaan annetuksi alirutiini, joka palauttaa joukon S mediaanin ajassa O(|S|). kun peitet¨ a¨ an kaikki valkoiset pisteet eik¨ a yht¨ a¨ an mustaa pistett¨ a, virhe on

Repunpakkausongelmassa (Knapsack Problem) on annettu n esinett¨ a, joiden kunkin arvo ja koko tiedet¨ a¨ an, ja teht¨ av¨ an¨ a on pakata esineist¨ a mahdollisimman arvokas

Teht¨ av¨ an¨ a on suorittaa yksiprosessorisella tietokoneella joukko t¨ oit¨ a, jotka ovat kaikki valmiina suoritettavaksi ja joista jokaisen vaatima suoritusaika tunnetaan.. Ty¨

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 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¨