mehrere Verbesserungen
- "Fulkersen" zu "Fulkerson" - "Flüsse zurücksetzen"-funktion - farbliche Markierungen in Ansicht "Kapazitäten und Flüsse".main
parent
d74058bd8b
commit
48eb5d0266
|
@ -94,7 +94,7 @@ function draw(){
|
||||||
}
|
}
|
||||||
}else if(shownEdges=="capacity_and_flows"){
|
}else if(shownEdges=="capacity_and_flows"){
|
||||||
if(edgesCapacity[vertex.name][otherVertex.name]>0){
|
if(edgesCapacity[vertex.name][otherVertex.name]>0){
|
||||||
drawEdge(vertex,otherVertex,getEdge(edgesFlow,vertex.name,otherVertex.name)+"/"+edgesCapacity[vertex.name][otherVertex.name],"black","white");
|
drawEdge(vertex,otherVertex,getEdge(edgesFlow,vertex.name,otherVertex.name)+"/"+edgesCapacity[vertex.name][otherVertex.name],"black",edgesFlow[vertex.name][otherVertex.name]>0?(edgesFlow[vertex.name][otherVertex.name]==edgesCapacity[vertex.name][otherVertex.name]?"#ff88ff":"#8888ff"):"white");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -189,6 +189,21 @@ function parseGraph(){
|
||||||
};
|
};
|
||||||
draw();
|
draw();
|
||||||
}
|
}
|
||||||
|
function resetFlows(){
|
||||||
|
done=false;
|
||||||
|
iterations=0;
|
||||||
|
totalFlow=0;
|
||||||
|
for(let vertex in verticesMap){
|
||||||
|
edgesFlow[vertex]={};
|
||||||
|
}
|
||||||
|
calculatePossibleNextSteps();
|
||||||
|
draw();
|
||||||
|
statusSim.innerText="Graph zurückgesetzt";
|
||||||
|
if(bfs()==undefined){
|
||||||
|
statusSim.innerText+="- Es gibt von Anfang an keinen augmentierenden Pfad, der Algorithmus braucht nicht angewandt zu werden.";
|
||||||
|
done=true;
|
||||||
|
};
|
||||||
|
}
|
||||||
function bfs(){
|
function bfs(){
|
||||||
let searches=[["s"]];
|
let searches=[["s"]];
|
||||||
let visitedVertices=["s"];
|
let visitedVertices=["s"];
|
||||||
|
@ -388,7 +403,7 @@ body {
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body onload="initializeEventHandlers();resetToDefaultGraph();parseGraph()">
|
<body onload="initializeEventHandlers();resetToDefaultGraph();parseGraph()">
|
||||||
<h1>Simulation des Ford-Fulkersen-Algorithmus</h1>
|
<h1>Simulation des Ford-Fulkerson-Algorithmus</h1>
|
||||||
|
|
||||||
<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)
|
||||||
|
@ -407,7 +422,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>
|
<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> <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