Opgaver i anvendelse af grafer

Opgave 1

Opret den ikke-retningsbestemte, vægtede graf i en adjacency-matrix repræsentation.

Opgave 2

Opret den retningsbestemte, vægtede graf - anvend eventuelt en adjacency-list repræsentation.

Opgave 3

Lav et program, der ved hjælp af datastrukturen graf kan repræsentere en vejlængdetabel for Fyn.

 

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

1. Assens

 

42

36

61

72

38

34

68

39

64

2. Bogense

42

 

63

52

66

30

30

62

32

75

3. Fåborg

36

63

 

60

51

74

71

47

38

27

4. Kerteminde

61

52

60

 

24

69

70

19

22

53

5. Knudshoved

72

66

51

24

 

80

81

4

34

37

6. Lillebæltsbroen

38

30

74

69

80

 

4

76

47

87

7. Middelfart

34

30

71

70

81

4

 

77

48

88

8. Nyborg

68

62

47

19

4

76

77

 

30

33

9. Odense

39

32

38

22

34

47

48

30

 

43

10. Svendborg

64

75

27

53

37

87

88

33

43

 

(Kilde: Danmark 1:100000 Topografisk Atlas, Geodætisk Institut, København 1982)

A.

Udarbejd en syntaks, der kan anvendes ved indlæsning af tabellens data fra en tekstfil. Udarbejd en tekstfil, der overholder den definerede syntaks, og lad programmet indlæse den. Lav i den forbindelse en leksikalsk analyse, der kan afvise en tekstfil med en forkert syntaks. Er syntaksen korrekt indsættes data i en graf.

Lav kontrol af, at data er indsat korrekt i grafen, f.eks. gennem forespørgsel på om et stednavn findes eller om afstanden mellem to stednavne.

B.

Udarbejd en algoritme, der løser "the traveling salesperson problem", således at man med start og slut i Odense besøger samtlige byer i grafen og samtidig tilbagelægger den korteste samlede strækning.