Show / Hide Table of Contents

Class ReversedEdgeAugmentorAlgorithm<TVertex, TEdge>

Routines to add and remove auxiliary edges when using EdmondsKarpMaximumFlowAlgorithm<TVertex, TEdge> or InternalCompute(). Remember to call RemoveReversedEdges() to remove auxiliary edges.

Inheritance
System.Object
ReversedEdgeAugmentorAlgorithm<TVertex, TEdge>
Implements
System.IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: QuikGraph.Algorithms.MaximumFlow
Assembly: QuikGraph.dll
Syntax
public sealed class ReversedEdgeAugmentorAlgorithm<TVertex, TEdge> : IDisposable where TEdge : IEdge<TVertex>
Type Parameters
Name Description
TVertex

Vertex type.

TEdge

Edge type.

Constructors

| Improve this Doc View Source

ReversedEdgeAugmentorAlgorithm(IMutableVertexAndEdgeListGraph<TVertex, TEdge>, EdgeFactory<TVertex, TEdge>)

Initializes a new instance of the ReversedEdgeAugmentorAlgorithm<TVertex, TEdge> class.

Declaration
public ReversedEdgeAugmentorAlgorithm(IMutableVertexAndEdgeListGraph<TVertex, TEdge> visitedGraph, EdgeFactory<TVertex, TEdge> edgeFactory)
Parameters
Type Name Description
IMutableVertexAndEdgeListGraph<TVertex, TEdge> visitedGraph

Graph to visit.

EdgeFactory<TVertex, TEdge> edgeFactory

Edge factory method.

Exceptions
Type Condition
System.ArgumentNullException

visitedGraph is null.

System.ArgumentNullException

edgeFactory is null.

Properties

| Improve this Doc View Source

Augmented

Gets the state augmented or not of the graph (reversed edges added or not).

Declaration
public bool Augmented { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

AugmentedEdges

Edges added to the initial graph (augmented ones).

Declaration
public IEnumerable<TEdge> AugmentedEdges { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<TEdge>
| Improve this Doc View Source

EdgeFactory

Edge factory method.

Declaration
public EdgeFactory<TVertex, TEdge> EdgeFactory { get; }
Property Value
Type Description
EdgeFactory<TVertex, TEdge>
| Improve this Doc View Source

ReversedEdges

Edges associated to their reversed edges.

Declaration
public IDictionary<TEdge, TEdge> ReversedEdges { get; }
Property Value
Type Description
System.Collections.Generic.IDictionary<TEdge, TEdge>
| Improve this Doc View Source

VisitedGraph

Gets the graph to visit with this algorithm.

Declaration
public IMutableVertexAndEdgeListGraph<TVertex, TEdge> VisitedGraph { get; }
Property Value
Type Description
IMutableVertexAndEdgeListGraph<TVertex, TEdge>

Methods

| Improve this Doc View Source

AddReversedEdges()

Adds auxiliary edges to VisitedGraph to store residual flows.

Declaration
public void AddReversedEdges()
Exceptions
Type Condition
System.InvalidOperationException

If the graph is already augmented.

| Improve this Doc View Source

RemoveReversedEdges()

Removes reversed edges that were added.

Declaration
public void RemoveReversedEdges()
Exceptions
Type Condition
System.InvalidOperationException

If the graph was not augmented yet.

Events

| Improve this Doc View Source

ReversedEdgeAdded

Fired when a reversed edge is added.

Declaration
public event EdgeAction<TVertex, TEdge> ReversedEdgeAdded
Event Type
Type Description
EdgeAction<TVertex, TEdge>

Explicit Interface Implementations

| Improve this Doc View Source

IDisposable.Dispose()

Declaration
void IDisposable.Dispose()

Implements

System.IDisposable

Extension Methods

GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, String)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, String, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, XmlWriter)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, XmlReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, TextReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, String, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeAndValidateFromGraphML<TVertex, TEdge, TGraph>(TGraph, TextReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
SerializationExtensions.SerializeToXml<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>, String, String, String, String)
SerializationExtensions.SerializeToXml<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>, String, String, String, String, Action<XmlWriter, TGraph>, Action<XmlWriter, TVertex>, Action<XmlWriter, TEdge>)
  • Improve this Doc
  • View Source
In This Article
Back to top QuikGraph