(a) kaaritaulukko

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