doolhof
doolhof
• Maak een routine die de ‘hekken’ tussen de cellen weghaalt
• Maak een 2-dimensionale array met kolommen en rijen aangeklikt is R[rij][kolom] = true
• Maak een routine om alle elementen op te zoeken en in volgorde vertalen naar rijen en kolommen
• Maak een routine die rijen en kolommen omzet naar DOM-volgorde ivm “hekken” verwijderen
• Routine om te bepalen in welke richting de
aangrenzende cel vrij is.
doolhof
doolho
f
doolho f
Een route gaat van linksboven naar rechtsonder
De gangen mogen horizontaal maar 1 keer aansluiten
doolho f
Er is verder geen aansluiting
doolho f
Functie
Gekozen cellen laten zien
Grafentheorie
Grafentheorie - wiki
Het ‘doolhof’ is feitelijk een matrix voor een graafUit de matrix kan de graaf gelezen worden met
knooppunten A1..H8.
Graaf: A1,B1,B2, ..
De kosten voor de
knooppunten is gesteld op 1.
Voorbeeld:
(A1,B1,B2,C2,D2,E2,F2,G2,H2,B3,C3,D3,D4,E4,E5,F5,E6,F6 ,G6,H7,H3,H4,H5,H6,H8)
Grafenthe orie
Kortste Pad Dijkstra Algoritme
Bestudeer:
Youtube
Dijkstra Algoritme Beschouw iedere cel als een
knoppunt met kostenfactor 1
Grafentheorie -
mapping
A1 A2 .. B1 B2 .. C1 C2 .. D2 D3A1 0 1
A2 ..
B1 1 1
B2 1 1
..
C1
C2 1 1
..
D2 1
Maak een mapping van alle voorkomende
knooppunten
A1, A2.. => A1, H8.
B1..B8 => A1 .. H8 etc Paden:
A1->B1 (1) B1->B2 (1) B2->C2 (1) totaal:
A1,B1,C2 (3)
Grafentheorie -
mapping
Grafentheorie -
mapping
Grafentheorie –
Nodes Graaf
Grafentheorie –
Nodes Graaf
Grafenthe orie
Bestudeer Korste pad algoritme
Algoritme : kortste paden volgens Dijkstra // bouw boom van kortste paden op;
// begin met een enkele knoop:
Kies een beginknoop X; TV = {X}; TE = ; ∅
// leeg, nog geen takken dus BoomAfstand[X] = 0;
// ga nu knopen en takken toevoegen:
while (TV 6= V) do
Kies tak (X,Y) met X TV, Y 6 TV, ∈ ∈
waarbij Afstand = BoomAfstand[X]+Gewicht(X,Y) minimaal is;
TV = TV {Y};∪
TE = TE {(X,Y)}; ∪ BoomAfstand[Y] = Afstand;
Grafenthe
orie
Grafenthe orie
Maak een grafische voorstelling
Grafenthe orie
Maak een grafische voorstelling
Grafentheorie – Dijkstra iteratie
A1 A2 .. B1 B2 .. C1 C2 .. D2 D3
A1 0 1
B1 1 2
Startpunt is A1 Rij-1 = A1 -> ..
Rij-2 = B1 -> ..