diff --git a/ford-fulkerson.html b/ford-fulkerson.html index 7f33eb0..35fd506 100644 --- a/ford-fulkerson.html +++ b/ford-fulkerson.html @@ -94,7 +94,7 @@ function draw(){ } }else if(shownEdges=="capacity_and_flows"){ 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(); } +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(){ let searches=[["s"]]; let visitedVertices=["s"]; @@ -388,7 +403,7 @@ body { -

Simulation des Ford-Fulkersen-Algorithmus

+

Simulation des Ford-Fulkerson-Algorithmus

Graph definieren

Knoten, mit Semikolon getrennt (s und t werden nicht mit angegeben) @@ -407,7 +422,7 @@ body {
Mausklick: -
Aktion: +
Aktion: