Drop links or images here to add them to the editor.

De knopen van een gerichte graaf worden geïdentificeerd via een uniek etiket, van het type str. Een tekstbestand bevat per regel een pad in de graaf, in volgend formaat:

knoop -> knoop -> knoop -> ...

De knopen in het pad worden dus gescheiden door de sequentie ` -> ` (die sequentie start en eindigt met een spatie. De paden in het bestand bevatten alle takken en knopen van de gerichte graaf.

Schrijf volgende functies:

Voorbeeld

Tabblad 1

Inhoud van 'GerichteGraaf_0.txt'
a -> h -> d -> n
l -> d
j -> l
g -> d
c -> n -> f
Inhoud van 'GerichteGraaf_1.txt'
i -> c -> g
e -> l -> c -> k
i -> b -> p
p -> n -> c -> m
i -> d
n -> f
d -> o -> b -> h -> n
Inhoud van 'GerichteGraaf_2.txt'
c -> b
o -> m -> h -> l
j -> n -> m
g -> a
k -> l
o -> i -> n -> h
lees_graaf('GerichteGraaf_0.txt')
#{'j': {'l'}, 'l': {'d'}, 'n': {'f'}, 'h': {'d'}, 'd': {'n'}, 'g': {'d'}, 'c': {'n'}, 'a': {'h'}}

lees_graaf('GerichteGraaf_1.txt')
#{'l': {'c'}, 'n': {'c', 'f'}, 'b': {'h', 'p'}, 'h': {'n'}, 'p': {'n'}, 'i': {'c', 'b', 'd'}, 'c': {'m', 'g', 'k'}, 'o': {'b'}, 'e': {'l'}, 'd': {'o'}}

lees_graaf('GerichteGraaf_2.txt')
#{'m': {'h'}, 'j': {'n'}, 'n': {'m', 'h'}, 'h': {'l'}, 'i': {'n'}, 'g': {'a'}, 'c': {'b'}, 'o': {'m', 'i'}, 'k': {'l'}}

Tabblad 2

doel({'j': {'l'}, 'l': {'d'}, 'n': {'f'}, 'h': {'d'}, 'd': {'n'}, 'g': {'d'}, 'c': {'n'}, 'a': {'h'}}, 'h')
#{'a'}

doel({'l': {'c'}, 'n': {'c', 'f'}, 'b': {'h', 'p'}, 'h': {'n'}, 'p': {'n'}, 'i': {'c', 'b', 'd'}, 'c': {'m', 'g', 'k'}, 'o': {'b'}, 'e': {'l'}, 'd': {'o'}}, 'o')
#{'d'}

doel({'m': {'h'}, 'j': {'n'}, 'n': {'m', 'h'}, 'h': {'l'}, 'i': {'n'}, 'g': {'a'}, 'c': {'b'}, 'o': {'m', 'i'}, 'k': {'l'}}, 'm')
#{'n', 'o'}

Tabblad 3

buren({'d': {'n'}, 'l': {'d'}, 'c': {'n'}, 'j': {'l'}, 'g': {'d'}, 'h': {'d'}, 'n': {'f'}, 'a': {'h'}}, 'c', 0)
#{'c'}

buren({'o': {'b'}, 'd': {'o'}, 'l': {'c'}, 'c': {'g', 'k', 'm'}, 'n': {'c', 'f'}, 'p': {'n'}, 'b': {'h', 'p'}, 'i': {'b', 'd', 'c'}, 'h': {'n'}, 'e': {'l'}}, 'd', 4)
#{'o', 'h', 'n', 'b', 'd', 'p'}

buren({'o': {'i', 'm'}, 'h': {'l'}, 'k': {'l'}, 'c': {'b'}, 'j': {'n'}, 'g': {'a'}, 'm': {'h'}, 'n': {'h', 'm'}, 'i': {'n'}}, 'k', 2)
#{'k', 'l'}