1. Hinweise hinzugefügt 2. "Flüsse Zurücksetzen" setzt nun auch den ausgewählten Pfad zurück
parent
48eb5d0266
commit
242cd1514f
|
|
@ -196,6 +196,7 @@ function resetFlows(){
|
||||||
for(let vertex in verticesMap){
|
for(let vertex in verticesMap){
|
||||||
edgesFlow[vertex]={};
|
edgesFlow[vertex]={};
|
||||||
}
|
}
|
||||||
|
flowVertices=["s"];
|
||||||
calculatePossibleNextSteps();
|
calculatePossibleNextSteps();
|
||||||
draw();
|
draw();
|
||||||
statusSim.innerText="Graph zurückgesetzt";
|
statusSim.innerText="Graph zurückgesetzt";
|
||||||
|
|
@ -405,6 +406,12 @@ body {
|
||||||
<body onload="initializeEventHandlers();resetToDefaultGraph();parseGraph()">
|
<body onload="initializeEventHandlers();resetToDefaultGraph();parseGraph()">
|
||||||
<h1>Simulation des Ford-Fulkerson-Algorithmus</h1>
|
<h1>Simulation des Ford-Fulkerson-Algorithmus</h1>
|
||||||
|
|
||||||
|
Hinweis zum manuellen Auswählen von Flusspfaden: <br>
|
||||||
|
1. klicke "Mausklick: wählt Flusspfade aus" <br>
|
||||||
|
2.1. klicke auf blau umrandete Knoten, um sie Teil des Pfades zu machen <br>
|
||||||
|
2.2. klicke auf bereits besuchte Knoten, um den Pfad bis zu diesem Knoten rückgängig zu machen. (Dafür muss "Mausklick: wählt Flusspfade aus" ausgewählt sein.) <br>
|
||||||
|
3. wenn Pfad von s zu t geht: klicke "Aktion: Fluss aus ausgewähltem augmentierenden Pfad erstellen" <br>
|
||||||
|
|
||||||
<h2> Graph definieren </h2>
|
<h2> Graph definieren </h2>
|
||||||
<b>Knoten</b>, mit Semikolon getrennt (s und t werden nicht mit angegeben)
|
<b>Knoten</b>, mit Semikolon getrennt (s und t werden nicht mit angegeben)
|
||||||
<br><textarea id="vDef" rows=5> </textarea>
|
<br><textarea id="vDef" rows=5> </textarea>
|
||||||
|
|
@ -422,7 +429,7 @@ body {
|
||||||
<br> Mausklick:
|
<br> Mausklick:
|
||||||
<button onclick="editMode='drag';draw()"> verschiebt Knoten </button>
|
<button onclick="editMode='drag';draw()"> verschiebt Knoten </button>
|
||||||
<button onclick="editMode='flow';draw()"> wählt Flusspfade aus </button>
|
<button onclick="editMode='flow';draw()"> wählt Flusspfade aus </button>
|
||||||
<br> Aktion: <button onclick="generateNewFlow()">Fluss aus ausgewähltem augmentierenden Pfad erstellen</button> <button onclick="selectShortestPath();">kürzesten s-t-Pfad auswählen (Edmonds-Karp)</button> <button onclick="selectRandomPath();">zufälligen s-t-Pfad auswählen</button> <button onclick="edmondsKarp()">Edmonds-Karp-Algorithmus vollständig durchlaufen lassen</button> <button onclick="randomFordFulkerson()">Zufalls-Ford-Fulkerson-Algorithmus vollständig durchlaufen lassen</button> <button onclick="resetFlows()">Flüsse zurücksetzen</button>
|
<br> Aktion: <button onclick="generateNewFlow()">Fluss aus ausgewähltem augmentierenden Pfad erstellen</button> <button onclick="selectShortestPath();">kürzesten s-t-Pfad auswählen (Edmonds-Karp)</button> <button onclick="selectRandomPath();">zufälligen s-t-Pfad auswählen</button> <button onclick="edmondsKarp()">Edmonds-Karp-Algorithmus vollständig durchlaufen lassen</button> <button onclick="randomFordFulkerson()">Zufalls-Ford-Fulkerson-Algorithmus vollständig durchlaufen lassen</button> <button onclick="resetFlows()">Alle Flüsse zurücksetzen</button>
|
||||||
<br> <span id="statusSim"> </span>
|
<br> <span id="statusSim"> </span>
|
||||||
<canvas id="c" width=600 height=300 style="width:100%"> </canvas>
|
<canvas id="c" width=600 height=300 style="width:100%"> </canvas>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue