Constructors
constructor
- new Graph(totalVertices: number): Graph
Properties
connected
connected: boolean
Private counter
counter: number
directed
directed: boolean
totalVertices
totalVertices: number
Methods
addEdge
- addEdge(edge: Edge): void
addVertex
- addVertex(vertex: Vertex): void
calcFlow
- calcFlow(start: number, end: number, targetFlow: number, count: number[]): number
-
Parameters
-
start: number
-
end: number
-
targetFlow: number
-
count: number[]
Returns number
calcMinCut
- calcMinCut(source: number, sink: number): number
-
Parameters
-
source: number
-
sink: number
Returns number
connect
- connect(vertex1: Vertex, vertex2: Vertex, weight?: undefined | number, directional?: undefined | false | true): void
-
Parameters
-
-
-
Optional weight: undefined | number
-
Optional directional: undefined | false | true
Returns void
createLevelGraph
- createLevelGraph(from: number, to: number): boolean
-
Parameters
Returns boolean
getMinCut
- getMinCut(from: number): number[]
-
Parameters
Returns number[]
newEdge
- newEdge(from: number, to: number, capacity: number): void
-
Parameters
-
from: number
-
to: number
-
capacity: number
Returns void
removeEdge
- removeEdge(edge: Edge): void
removeVertex
- removeVertex(vertex: Vertex): void
Depth First Search-like: send flow at along path from from->to recursively while increasing the level of the visited vertices by one