ALGORITMIT 1 HARJOITUKSET 4 15.–16.2.2017 12 0 1 Q 15 6 Q18 6 21 s + 23 Q 1. Kirjoita kuvan verkolle (a) kaaritaulukko, 2 14 20 3 QQ 17 ? + 24 s ? Q 11 3 4 (b) pituusmatriisi, (c) forward star -rakenne. 2. Erään verkon lähtevien ja tulevien kaarien listat on esitetty oheisissa taulukoissa. 0 1 2 3 4 Solmut ffwa fbwa ---------| 0 NIX | 2 4 | 3 0 | 4 1 | 7 2 0 1 2 3 4 5 6 7 Kaaret tail head nxfw nxbw pit --------------------------| 0 2 1 5 27 | 0 3 NIX 3 16 | 1 4 NIX 6 31 | 2 3 NIX 7 48 | 3 1 5 NIX 17 | 3 2 6 NIX 21 | 3 4 NIX NIX 33 | 4 3 NIX NIX 29 Vastaa seuraaviin kysymyksiin taulukoiden (ei kuvan) perusteella: (a) Montako kaarta lähtee solmusta 2? Mihin solmuihin ne menevät? (b) Montako kaarta tulee solmuun 3? Mistä solmuista ne tulevat? (c) Etsi jokin reitti solmusta 0 solmuun 4. Piirrä kuva ja tarkista vastauksesi siitä. 3. Määrää kuvan verkolle lyhimmät polut solmusta A muihin solmuihin Fordin ja Fulkersonin menetelmällä. 5 B - C Q 2 3 8 QQ 6 s 2 6 4 A F 3 Q 3 s 2QQ 6 D - E 7 Käännä 4. Erään verkon pituusmatriisi on esitetty oheisessa taulukossa. Määrää verkon lyhimpien etäisyyksien matriisi Floydin menetelmällä. 0 1 2 3 0 1 0 15 25 0 ∞ ∞ ∞ 32 2 40 23 0 8 3 18 ∞ 10 0 5. Lajittele merkkijonon ALGORITMIT merkit aakkosjärjestykseen (a) kuplalajittelulla, (b) lisäyslajittelulla, (c) valintalajittelulla. O4. Kirjoita ohjelma, joka toteuttaa kaksi erilaista lajittelualgoritmia kokonaislukutaulukoille. Muodosta taulukko, joka sisältää satunnaisia kokonaislukuja, ja lajittele se molemmilla menetelmillä. Ohjelmointitehtävän ratkaisut sähköpostina ([email protected]) pe 17.2.2017 klo 24.00 mennessä. Demoryhmät: Ke 15.2. klo 12.15–14 Ag C231 Ke 15.2. klo 16.00–18 Ag C231 To 16.2. klo 10.15–12 Ag C231 To 16.2. klo 12.15–14 Ag C231
© Copyright 2024