v11 v12
v21 v22
.
vm1 vm2
#
der vi1 er en streng som identifiserer startnoden til kant i og vi2 målnoden til kanten. # angir slutten på filen.
som leser inn en graf fra en fil med formatet som beskrevet over og
returnerer den tilsvarende grafen.
som returnerer false hvis og bare hvis den rettede grafen G inneholder
en (rettet) løkke
som kan nås fra node startnode. Metoden skal ha tidskompleksitet
O(n+m).
Hint: Istedetfor å "merke" besøkte noder vha en boolsk
variabel for hver node, kan metoden passelig kalle en rekursiv metode
boolean isGraphAcyclic(Graph G, Position startNode, Sequence aktuellenoder, Sequence besoktenoder)
der aktuellenoder er nodene i "aktuell sti" og besoktenoder er alle
nodene er har vært innom under løkketesten. Pass på
at du ikke går i rekursjonsbrønner!
som returnerer true hvis og bare hvis den rettede grafen G inneholder
en (rettet) løkke.