diff options
Diffstat (limited to 'build/tools/gallio/MbUnit2/QuickGraph.Algorithms.xml')
| -rw-r--r-- | build/tools/gallio/MbUnit2/QuickGraph.Algorithms.xml | 6764 |
1 files changed, 6764 insertions, 0 deletions
diff --git a/build/tools/gallio/MbUnit2/QuickGraph.Algorithms.xml b/build/tools/gallio/MbUnit2/QuickGraph.Algorithms.xml new file mode 100644 index 0000000..2853ffa --- /dev/null +++ b/build/tools/gallio/MbUnit2/QuickGraph.Algorithms.xml @@ -0,0 +1,6764 @@ +<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>QuickGraph.Algorithms</name>
+ </assembly>
+ <members>
+ <member name="T:QuickGraph.Algorithms.AlgoUtility">
+ <summary>
+ A static class with some helper methods
+ </summary>
+ <remarks>
+ <para>
+ This class contains a number of small and usefull methods.
+ </para>
+ <para>
+ All the method are thread safe.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.#ctor">
+ <summary>
+ No constructor
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.IsSelfLoop(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Returns true if edge is a self edge
+ </summary>
+ <param name="e">edge to test</param>
+ <returns>true if self edge</returns>
+ <exception cref="T:System.ArgumentNullException">e is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.Opposite(QuickGraph.Concepts.IEdge,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns the vertex opposite to v on the edge e.
+ </summary>
+ <remarks>
+ Given an edge and a vertex which must be incident to the edge,
+ this function returns the opposite vertex.
+ So if v is the source vertex, this function returns the target
+ vertex. I
+ f v is the target, then this function returns the source vertex.
+ </remarks>
+ <param name="e"></param>
+ <param name="v"></param>
+ <returns></returns>
+ <exception cref="T:System.ArgumentNullException">e or v is null</exception>
+ <exception cref="T:QuickGraph.Exceptions.VertexNotConnectedByEdgeException">v is not incident to e</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.IsInEdgeSet(QuickGraph.Concepts.Traversals.IEdgeListGraph,QuickGraph.Concepts.IEdge)">
+ <summary>
+ Checks wheter an edge belongs to the edge set
+ </summary>
+ <param name="g">graph containing the edge set</param>
+ <param name="e">edge to test</param>
+ <returns>true if e is in the graph edge set</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.IsInVertexSet(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Checks wheter a vertex belongs to the vertex set
+ </summary>
+ <param name="g">graph containing the vertex set</param>
+ <param name="v">vertex to test</param>
+ <returns>true if v is in the graph vertex set</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.IsInEdgeSet(QuickGraph.Concepts.Traversals.IEdgeListGraph,QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Checks wheter an edge that goes from source to target
+ belongs to the edge set
+ </summary>
+ <param name="g">graph containing the edge set</param>
+ <param name="source">edge source</param>
+ <param name="target">edge target</param>
+ <returns>true if e is in the graph edge set</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.IsChild(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex,QuickGraph.Collections.VertexVertexDictionary)">
+ <summary>
+ Checks if the child vertex is a child of the parent vertex
+ using the predecessor map.
+ </summary>
+ <param name="parent"></param>
+ <param name="child"></param>
+ <param name="predecessors"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.IsReachable(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Checks if there exists a path between source and target
+ </summary>
+ <param name="source">source vertex</param>
+ <param name="target">target vertex</param>
+ <param name="g">graph</param>
+ <returns>true if target is reachable from source</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.TopologicalSort(QuickGraph.Concepts.Traversals.IVertexListGraph,System.Collections.IList)">
+ <summary>
+ Applies a topological sort to the graph
+ </summary>
+ <param name="g">graph to sort</param>
+ <param name="vertices">sorted vertices</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.ConnectedComponents(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.VertexIntDictionary)">
+ <summary>
+ Computes the connected components.
+ </summary>
+ <param name="g">graph to explore</param>
+ <param name="components">component map where results are recorded</param>
+ <returns>number of components</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.StrongComponents(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.VertexIntDictionary)">
+ <summary>
+ Computes the strong components.
+ </summary>
+ <remarks>
+ <para>
+ Thread safe.
+ </para>
+ </remarks>
+ <param name="g">graph to explore</param>
+ <param name="components">component map where results are recorded</param>
+ <returns>number of strong components</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.Sinks(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Returns an enumerable collection of the leaf vertices of the graph
+ </summary>
+ <param name="g">graph to visit</param>
+ <returns>enumerable of leaf vertices</returns>
+ <remarks>
+ <para>
+ Thread safe.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.Sources(QuickGraph.Concepts.Traversals.IBidirectionalVertexListGraph)">
+ <summary>
+ Returns an enumerable collection of the root vertices of the graph
+ </summary>
+ <param name="g">graph to visit</param>
+ <returns>enumerable of root vertices</returns>
+ <remarks>
+ <para>
+ Thread safe.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.Sinks(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes the leaves from the <paramref name="root"/> vertex.
+ </summary>
+ <param name="g">graph containing the vertex</param>
+ <param name="root">root of the tree</param>
+ <returns>leaf vertices</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.CheckAcyclic(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Checks that the graph does not have cyclies
+ </summary>
+ <param name="g">graph to test</param>
+ <exception cref="T:System.ArgumentNullException">g is a null reference</exception>
+ <exception cref="T:QuickGraph.Exceptions.NonAcyclicGraphException">graph contains a cycle</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.dfs_BackEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Used in OutEdgeTree
+ </summary>
+ <param name="sender"></param>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.CheckAcyclic(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Checks that the sub graph rooted at <paramref name="ref"/> does not have cyclies
+ </summary>
+ <param name="g">graph to test</param>
+ <exception cref="T:System.ArgumentNullException">g is a null reference</exception>
+ <exception cref="T:QuickGraph.Exceptions.NonAcyclicGraphException">graph contains a cycle</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AlgoUtility.OddVertices(QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph)">
+ <summary>
+ Create a collection of odd vertices
+ </summary>
+ <param name="g">graph to visit</param>
+ <returns>colleciton of odd vertices</returns>
+ <exception cref="T:System.ArgumentNullException">g is a null reference</exception>
+ </member>
+ <member name="T:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm">
+ <summary>
+ Floyd Warshall All Shortest Path Algorithm
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph,QuickGraph.Algorithms.AllShortestPath.Testers.IFloydWarshallTester)">
+ <summary>
+ Default constructor - initializes all fields to default values
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.OnInitiliazePath(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="!:InitializePath"/> event.
+ </summary>
+ <param name="source">source vertex</param>
+ <param name="target">target vertex</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.OnProcessPath(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.ProcessPath"/> event.
+ </summary>
+ <param name="source">source vertex</param>
+ <param name="target">target vertex</param>
+ <param name="intermediate"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.OnReducePath(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.ReducePath"/> event.
+ </summary>
+ <param name="source"></param>
+ <param name="target"></param>
+ <param name="intermediate"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.OnNotReducePath(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.NotReducePath"/> event.
+ </summary>
+ <param name="source"></param>
+ <param name="target"></param>
+ <param name="intermediate"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.Compute">
+ <summary>
+ Compute the All shortest path problem.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.CheckConnectivityAndNegativeCycles(QuickGraph.Concepts.Collections.IVertexDistanceMatrix)">
+ <summary>
+ Checks the graph for connectivity and negative cycles
+ </summary>
+ <param name="costs">cost distionary</param>
+ <exception cref="T:QuickGraph.Exceptions.NegativeCycleException">graph has negatice cycle.</exception>
+ <exception cref="T:QuickGraph.Exceptions.GraphNotStronglyConnectedException">graph is not strongly connected</exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.VisitedGraph">
+ <summary>
+ Gets the visited graph
+ </summary>
+ <value>
+ Visited Graph
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.QuickGraph#Concepts#Algorithms#IAlgorithm#VisitedGraph">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.Tester">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Algorithms.AllShortestPath.Testers.IFloydWarshallTester"/> instance
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.DefinedPaths">
+ <summary>
+ Internal use
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.InitiliazePath">
+ <summary>
+ Raised when initializing a new path
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="E:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.ProcessPath">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.ReducePath">
+ <summary>
+ Raised when a path is reduced
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm.NotReducePath">
+ <summary>
+ Raised when a path is not reduced
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.AllShortestPath.NamespaceDoc">
+ <summary>
+ Collection of classes that compute the All-Shortest path problem.
+ </summary>
+ <remarks>
+ <para>
+ An all-shortest path algorithm computes all the shortest path between
+ all the graph vertices.
+ </para>
+ <para>
+ The <see cref="T:QuickGraph.Algorithms.AllShortestPath.FloydWarshallAllShortestPathAlgorithm"/> runs in O(V^3).
+ It can also be used to compute other quantities: transitive hull,
+ safest path, min-max path, etc.
+ Those are trigerred by <see cref="T:QuickGraph.Algorithms.AllShortestPath.Reducers.IFloydWarshallDistanceReducer"/>
+ classes.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:QuickGraph.Algorithms.AllShortestPath.Reducers.FloydWarshallMaxMinDistanceReducer">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.AllShortestPath.Reducers.IFloydWarshallDistanceReducer">
+ <summary>
+ Distance reducer interface
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.AllShortestPath.Reducers.IFloydWarshallDistanceReducer.ReducePathDistance(QuickGraph.Concepts.Collections.IVertexDistanceMatrix,QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+
+ </summary>
+ <param name="distances"></param>
+ <param name="source"></param>
+ <param name="target"></param>
+ <param name="intermediate"></param>
+ </member>
+ <member name="T:QuickGraph.Algorithms.MaximumFlow.ReversedEdgeAugmentorAlgorithm">
+ <summary>
+ A <see cref="T:QuickGraph.Concepts.Algorithms.IAlgorithm"/> implementation that augments a
+ <see cref="T:QuickGraph.Concepts.MutableTraversals.IMutableVertexAndEdgeListGraph"/> such that
+ for all edge (u,v) there exists the edge (v,u) in the graph.
+ </summary>
+ <remarks>
+ <para>
+ This algorithm can be used to augment a graph with reversed edges to make it usable by
+ a <see cref="T:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm"/> implementation. It also contains the method
+ to clean up the graph afterwards.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.MaximumFlow.ReversedEdgeAugmentorAlgorithm.AddReversedEdges">
+ <summary>
+ Augments the <see cref="P:QuickGraph.Algorithms.MaximumFlow.ReversedEdgeAugmentorAlgorithm.VisitedGraph"/> with reversed edges.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The graph has already been augmented.
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.MaximumFlow.ReversedEdgeAugmentorAlgorithm.RemoveReversedEdges">
+ <summary>
+ Removes the reversed edges.
+ </summary>
+ <exception cref="T:System.InvalidOperationException">
+ The graph is not yet augmented.
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.MaximumFlow.ReversedEdgeAugmentorAlgorithm.AugmentedEdges">
+ <summary>
+ Gets a <see cref="T:QuickGraph.Collections.EdgeCollection"/> instance containing the
+ augmented edges.
+ </summary>
+ <value></value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.MaximumFlow.ReversedEdgeAugmentorAlgorithm.ReversedEdges">
+ <summary>
+ Gets a <see cref="T:QuickGraph.Collections.EdgeEdgeDictionary"/> associating
+ each edge to it's corresponding reversed edge.
+ </summary>
+ <value></value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.MaximumFlow.ReversedEdgeAugmentorAlgorithm.Augmented">
+ <summary>
+ Gets a value indicating wheter the <see cref="P:QuickGraph.Algorithms.MaximumFlow.ReversedEdgeAugmentorAlgorithm.VisitedGraph"/>
+ has been augmented.
+ </summary>
+ <value></value>
+ </member>
+ <member name="T:QuickGraph.Algorithms.MinimumFlow.GraphBalancerAlgorithm">
+ <summary>
+
+ </summary>
+ <remarks>
+ <para>
+ Algorithm extracted from <em>Efficient Algorithms for Constructing Testing Sets, Covering Paths and
+ Minimum Flows</em>, Alfred V. Aho, David Lee.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Clone.CloneEdgeEventHandler">
+ <summary>
+ Edge cloning event handler
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Clone.CloneEdgeEventArgs">
+ <summary>
+ Edge cloning event argument
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Clone.CloneEdgeEventArgs.#ctor(QuickGraph.Concepts.IEdge,QuickGraph.Concepts.IEdge)">
+ <summary>
+ Create a new Vertex cloning event argument
+ </summary>
+ <param name="original">original vertex</param>
+ <param name="clone">clone vertex</param>
+ <exception cref="!:ArgumentNullReference">
+ <paramref name="original"/> or <paramref name="clone"/>
+ is a null reference.
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Clone.CloneEdgeEventArgs.Original">
+ <summary>
+ Original vertex
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Clone.CloneEdgeEventArgs.Clone">
+ <summary>
+ Clone vertex
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Clone.CloneVertexEventHandler">
+ <summary>
+ Vertex cloning event handler
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Clone.CloneVertexEventArgs">
+ <summary>
+ Vertex cloning event argument
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Clone.CloneVertexEventArgs.#ctor(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Create a new Vertex cloning event argument
+ </summary>
+ <param name="original">original vertex</param>
+ <param name="clone">clone vertex</param>
+ <exception cref="!:ArgumentNullReference">
+ <paramref name="original"/> or <paramref name="clone"/>
+ is a null reference.
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Clone.CloneVertexEventArgs.Original">
+ <summary>
+ Gets the original vertex
+ </summary>
+ <value>
+ Original vertex instance
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Clone.CloneVertexEventArgs.Clone">
+ <summary>
+ Gets the clone vertex
+ </summary>
+ <value>
+ Clone vertex instance
+ </value>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm">
+ <summary>
+ A graph cloner algorithm
+ </summary>
+ <remarks>
+ <para>
+ Use this class to create clone of different graphs with possible different
+ provider types.
+ </para>
+ <para>
+ The <see cref="E:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.CloneVertex"/> and <see cref="E:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.CloneEdge"/> events can be
+ used to copy the custom properties
+ attached to each vertex and edge.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.Clone(QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph,QuickGraph.Concepts.Modifications.IEdgeMutableGraph)">
+ <summary>
+ Makes a copy of the source graph to the clone graph.
+ </summary>
+ <param name="source">source graph</param>
+ <param name="target">clone graph</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.ReversedClone(QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph,QuickGraph.Concepts.Modifications.IEdgeMutableGraph)">
+ <summary>
+ Clones the <paramref name="source"/> to <paramref name="target"/> and
+ reverses the edges.
+ </summary>
+ <remarks>
+ <para>
+ Use this class to create clone of different graphs with possible different
+ provider types.
+ </para>
+ <para>
+ The <see cref="E:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.CloneVertex"/> and <see cref="E:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.CloneEdge"/> events can be
+ used to copy the custom properties
+ attached to each vertex and edge.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.OnCloneVertex(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Triggers the CloneVertex event
+ </summary>
+ <param name="v"></param>
+ <param name="vc"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.OnCloneEdge(QuickGraph.Concepts.IEdge,QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the CloneEdge event
+ </summary>
+ <param name="e"></param>
+ <param name="ec"></param>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.CloneVertex">
+ <summary>
+ Event called on each vertex cloning
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Clone.GraphClonerAlgorithm.CloneEdge">
+ <summary>
+ Event called on each edge cloning
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Clone.NamespaceDoc">
+ <summary>
+ The <b>QuickGraph.Algorithms.Clone</b> contains algorithms that
+ create copy of graph.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.CondensationGraphAlgorithm">
+ <summary>
+ Creates a condensation graph transformation
+ </summary>
+ <author name="Rohit Gadogkar" email="rohit.gadagkar@gmail.com" />
+ </member>
+ <member name="M:QuickGraph.Algorithms.CondensationGraphAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Condensation Graph constructor
+ </summary>
+ <param name="g">Input graph from
+ which condensation graph is created</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.CondensationGraphAlgorithm.OnInitCondensationGraphVertex(QuickGraph.Algorithms.CondensationGraphVertexEventArgs)">
+ <summary>
+ Raise the CondensationGraphVertex evt
+ </summary>
+ <param name="arg">Pack the CG vertex and a VertexCollection of it's constituent vertices</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.CondensationGraphAlgorithm.ClearComponents">
+ <summary>
+ Clear the extracted strongly connected components
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.CondensationGraphAlgorithm.Create(QuickGraph.Concepts.MutableTraversals.IMutableVertexAndEdgeListGraph)">
+ <summary>
+ Compute the condensation graph and store it in the supplied graph 'cg'
+ </summary>
+ <param name="cg">
+ Instance of mutable graph in which the condensation graph
+ transformation is stored
+ </param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.CondensationGraphAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.CondensationGraphAlgorithm.VertexToSCCMap">
+ <summary>
+ Maps a graph vertex to a strongly connected component
+ </summary>
+ <value>Map of IVertex to strongly connected component ID</value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.CondensationGraphAlgorithm.SCCVerticesMap">
+ <summary>
+ Read only map of vertices within each strongly connected component
+ </summary>
+ <value>map with StronglyConnectedComponent ID as key and IList of vertices as value</value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.CondensationGraphAlgorithm.InitCondensationGraphVertex">
+ <summary>
+ Raised when a new vertex is added in the condensation graph
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.CondensationGraphVertexEventArgs">
+ <summary>
+ Encapsulates a vertex in the original graph and it's corresponding
+ vertex in a transformation of the graph
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.CondensationGraphVertexEventArgs.#ctor(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Collections.IVertexCollection)">
+ <summary>
+ ctor()
+ </summary>
+ <param name="cgVertex">Vertex in the condensation graph</param>
+ <param name="stronglyConnectedVertices">strongly connected
+ components
+ in the original graph which are represented by the condensation
+ graph node</param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.CondensationGraphVertexEventArgs.CondensationGraphVertex">
+ <summary>
+ Condensation graph vertex
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.CondensationGraphVertexEventArgs.StronglyConnectedVertices">
+ <summary>
+ Strongly connected vertices from original graph represented by the
+ condensation graph node
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.CondensationGraphVertexEventHandler">
+ <summary>
+ Delegate to handle the CondensationGraphVertexEvent
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.ConnectedComponentsAlgorithm">
+ <summary>
+ Connected component computation
+ </summary>
+ <remarks>
+ <para>
+ The ConnectedComponentsAlgorithm functions compute the connected
+ components of an undirected graph using a DFS-based approach.
+ </para>
+ <para>
+ A connected component of an undirected graph is a set of vertices that
+ are all reachable from each other.
+ </para>
+ <para>
+ If the connected components need to be maintained while a graph is
+ growing the disjoint-set based approach of function
+ IncrementalComponentsAlgorithm is faster.
+ For ``static'' graphs this DFS-based approach is faster.
+ </para>
+ <para>
+ The output of the algorithm is recorded in the component
+ property Components, which will contain numbers giving the
+ component number assigned to each vertex.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ConnectedComponentsAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Constructs a connected component algorithm.
+ </summary>
+ <param name="g">graph to apply the algorithm on</param>
+ <exception cref="T:System.ArgumentNullException">g is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ConnectedComponentsAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.VertexIntDictionary)">
+ <summary>
+ Constructs a connected component algorithm, using a component map
+ </summary>
+ <param name="g">graph</param>
+ <param name="components">map where the components are recorded</param>
+ <exception cref="T:System.ArgumentNullException">g or components are null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ConnectedComponentsAlgorithm.StartVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Used internally
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ConnectedComponentsAlgorithm.DiscoverVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Used internally
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ConnectedComponentsAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Executes the algorithm
+ </summary>
+ <returns>The total number of components is the return value of the function</returns>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ConnectedComponentsAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ConnectedComponentsAlgorithm.Components">
+ <summary>
+ Gets the component map
+ </summary>
+ <value>
+ Component map
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ConnectedComponentsAlgorithm.Count">
+ <summary>
+ Gets the connected components count
+ </summary>
+ <value>
+ Connected component count
+ </value>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Layout.FruchtermanReingoldGridVariantLayoutAlgorithm">
+ <summary>
+ The grid variant of the Fruchterman-Reingold graph layout algorithm.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Layout.FruchtermanReingoldLayoutAlgorithm">
+ <summary>
+ This algorithm is based on the following paper:
+ T. Fruchterman and E. Reingold. "Graph drawing by force-directed placement." Software Practice and Experience, 21(11):1129--1164, 1991.
+
+ Implemented by Arun Bhalla.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Layout.GridDirectedForcePotential">
+ <summary>
+ Summary description for GridDirectedForcePotential.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Layout.PointMath">
+ <summary>
+ Useful point algebra function.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Layout.PointMath.Distance(System.Drawing.PointF,System.Drawing.PointF)">
+ <summary>
+ Computes the Euclidian distance between two points
+ </summary>
+ <param name="p1">first point</param>
+ <param name="p2">second point</param>
+ <returns><c>|p1-p2|_2</c></returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Layout.PointMath.SqrDistance(System.Drawing.PointF,System.Drawing.PointF)">
+ <summary>
+ Computes the square of the Euclidian distance between two points
+ </summary>
+ <param name="p1">first point</param>
+ <param name="p2">second point</param>
+ <returns><c>(p1.x-p2.x)^2+(p1.y-p2.y)^2</c></returns>
+ </member>
+ <member name="T:QuickGraph.Algorithms.MaximumFlow.EdmondsKarpMaximumFlowAlgorithm">
+ <summary>Edmonds-Karp Maximum Flow Algorithm</summary>
+ <remarks>
+ <para>
+ The <see cref="T:QuickGraph.Algorithms.MaximumFlow.EdmondsKarpMaximumFlowAlgorithm"/> class calculates
+ the maximum flow of a network. The calculated maximum flow will be
+ the return value of the function <see cref="M:QuickGraph.Algorithms.MaximumFlow.EdmondsKarpMaximumFlowAlgorithm.Compute(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)"/>.
+ The function also calculates the flow values <c>f[e]</c> for all e in E,
+ which are returned in the form of the residual capacity
+ <c>r[e] = c[e] - f[e]</c>.
+ </para>
+ <para>
+ There are several special requirements on the input graph
+ and property map parameters for this algorithm. First,
+ the directed graph <c>G=(V,E)</c> that represents the network must be augmented
+ to include the reverse edge for every edge in E. That is, the input graph
+ should be <c>Gin = (V,{E U ET})</c>.
+ The <c>reversedEdges</c> argument
+ must map each edge in the original graph to its reverse edge,
+ that is <c>e=(u,v) -> (v,u)</c> for all e in E.
+ The <c>capacities</c> argument must map each edge in E to a positive number,
+ and each edge in ET to 0.
+ </para>
+ <para>
+ The algorithm is due to Edmonds and Karp,
+ though we are using the variation called the <em>labeling algorithm</em>
+ described in Network Flows.
+ </para>
+ <para>
+ This algorithm provides a very simple and easy to implement solution
+ to the maximum flow problem. However, there are several reasons why
+ this algorithm is not as good as the <see cref="T:QuickGraph.Algorithms.MaximumFlow.PushRelabelMaximumFlowAlgorithm"/>
+ algorithm.
+ </para>
+ <para>
+ In the non-integer capacity case, the time complexity is O(V E^2)
+ which is worse than the time complexity of the <see cref="T:QuickGraph.Algorithms.MaximumFlow.PushRelabelMaximumFlowAlgorithm"/>
+ O(V^2E^1/2) for all but the sparsest of graphs.
+ </para>
+ <para>
+ In the integer capacity case, if the capacity bound U is very large then the
+ algorithm will take a long time.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm">
+ <summary>
+ Abstract base class for maximum flow algorithms.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.EdgeDoubleDictionary,QuickGraph.Collections.EdgeEdgeDictionary)">
+ <summary>Constructs a maximum flow algorithm.</summary>
+ <param name="g">Graph to compute maximum flow on.</param>
+ <param name="capacities">edge capacities</param>
+ <param name="reversedEdges">reversed edge map</param>
+ <exception cref="T:System.ArgumentNullException"><paramref name="g"/> or
+ <paramref name="capacities"/> or <paramref name="reversedEdges"/> is a null
+ reference.
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm.Compute(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+
+ </summary>
+ <param name="src"></param>
+ <param name="sink"></param>
+ <returns></returns>
+ </member>
+ <member name="P:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm.VisitedGraph">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm.Predecessors">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm.Capacities">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm.ResidualCapacities">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm.ReversedEdges">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.MaximumFlow.MaximumFlowAlgorithm.Colors">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.MaximumFlow.EdmondsKarpMaximumFlowAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.EdgeDoubleDictionary,QuickGraph.Collections.EdgeEdgeDictionary)">
+ <summary>
+
+ </summary>
+ <param name="g"></param>
+ <param name="capacities"></param>
+ <param name="reversedEdges"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.MaximumFlow.EdmondsKarpMaximumFlowAlgorithm.Compute(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes the maximum flow between <paramref name="src"/> and
+ <paramref name="sink"/>
+ </summary>
+ <param name="src"></param>
+ <param name="sink"></param>
+ <returns></returns>
+ </member>
+ <member name="T:QuickGraph.Algorithms.MaximumFlow.NamespaceDoc">
+ <summary>
+ The <b>QuickGraph.Algorithms.MaximumFlow</b> contains
+ algorithms to compute network maximum flows.
+ <b>Under construction</b>
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.MaximumFlow.PushRelabelMaximumFlowAlgorithm">
+ <summary>Push-Relabel Maximum Flow Algorithm</summary>
+ <remarks>
+ <para>The <see cref="T:QuickGraph.Algorithms.MaximumFlow.PushRelabelMaximumFlowAlgorithm"/> class calculates the
+ maximum flow of a network. The calculated maximum flow will be the return value of
+ the <see cref="M:QuickGraph.Algorithms.MaximumFlow.PushRelabelMaximumFlowAlgorithm.Compute(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)"/>function. The function
+ also calculates the flow values <c>f(u,v)</c> for all <c>(u,v)</c> in E, which
+ are returned in the form of the residual capacity <c>r(u,v) = c(u,v) - f(u,v)</c>.
+ </para>
+ <para>
+ There are several special requirements on the input graph and property map
+ parameters for this algorithm. First, the directed graph <c>G=(V,E)</c> that
+ represents the network must be augmented to include the reverse edge for every
+ edge in E. That is, the input graph should be <c>Gin = (V,{E U E^T})</c>.
+ The <c>reversedEdges</c> argument must map each edge in the original graph to
+ its reverse edge, that is <c>(u,v) -> (v,u)</c> for all <c>(u,v)</c> in E.
+ The <c>capacities</c> argument must map each edge in E to a
+ positive number, and each edge in E^T to 0.
+ </para>
+ <para>
+ This algorithm was developed by Goldberg.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.MaximumFlow.PushRelabelMaximumFlowAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IIndexedVertexListGraph,QuickGraph.Collections.EdgeDoubleDictionary,QuickGraph.Collections.EdgeEdgeDictionary)">
+ <summary>
+
+ </summary>
+ <param name="g"></param>
+ <param name="capacities"></param>
+ <param name="reversedEdges"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.MaximumFlow.PushRelabelMaximumFlowAlgorithm.Compute(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes the maximum flow between <paramref name="src"/> and
+ <paramref name="sink"/>.
+ </summary>
+ <param name="src">The source node of the graph.</param>
+ <param name="sink">The sink node of the graph.</param>
+ <returns>The maximum flow of the graph.</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.MaximumFlow.PushRelabelMaximumFlowAlgorithm.MaximumPreflow">
+ <summary>
+ This is the core part of the algorithm, "phase one."
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Metrics.EdgeCoverageMetric">
+ <summary>
+ Summary description for VertexCoverageMetric.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Metrics.NamespaceDoc">
+ <summary>
+ The <b>QuickGraph.Algorithms.Metrics</b> contains <b>metrics</b> to
+ caracterize traversals, trees and graphs.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Metrics.VertexCoverageMetric">
+ <summary>
+ Summary description for VertexCoverageMetric.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.MinimumFlow.MinimumFlowAlgorithm">
+ <summary>
+
+ </summary>
+ <remarks>
+ <para>
+ Algorithm extracted from <em>Efficient Algorithms for Constructing Testing Sets, Covering Paths and
+ Minimum Flows</em>, Alfred V. Aho, David Lee.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:QuickGraph.Algorithms.NamespaceDoc">
+ <summary>
+ The <b>QuickGraph.Algorithms</b> namespace is the base namespace
+ for graph algorithms.
+ </summary>
+ <remarks>
+ This namespace contains all the graph algorithms implements by quickgraph.
+ Algorithms are classified by the type of problem they solve, and each
+ problem is separated in it's own namespace:
+ <list type="bulleted">
+ <item>
+ <term>Search</term>
+ <description>Basic algorithms such as the <see cref="T:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm"/> or
+ the <see cref="T:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm"/>.
+ </description>
+ </item>
+ <item>
+ <term>ShortestPath</term>
+ <description>Computes the single source shortest path problem.</description>
+ </item>
+ <item>
+ <term>Clone</term>
+ <description>Cloning of graph related algorithms</description>
+ </item>
+ <item>
+ <term>MaximumFLow</term>
+ <description>Netword maximu flow algorithms</description>
+ </item>
+ </list>
+ <para>
+ A number of algorithm supports visitors defined in the Visitor namespace.
+ </para>
+ </remarks>
+ </member>
+ <member name="T:QuickGraph.Algorithms.PerfectMatching.NamespaceDoc">
+ <summary>
+ <para>
+ The <b>QuickGraph.Algorithms.PerfectMatching</b> namespace
+ contains classes for solving <b>Minimum Weight Perfect Matching</b>
+ problems.
+ </para>
+ <para>
+ A <em>perfect matching</em> of a graph G is a subset of edges
+ such that each node in G is met by exactly one edge of the matching.
+ </para>
+ <para>
+ Given a real weight <c>ec</c> for each edge <c>e</c> in G, a
+ <b>Minimum Weight Perfect Matching</b> problem is to find
+ a perfect matching M of minimum weight.
+ </para>
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm">
+ <summary>
+ Wilson-Propp Cycle-Popping Algorithm for Random Tree Generation.
+ </summary>
+ <remarks name="CyclePoppingRandomTreeAlgorithm">
+<para>
+This class implements cycle-popping algorithms extracted from Section 6 and 7 of
+<em>How to Get Perfectly
+Random Sample from a Generic Markov Chain and Generate a Random
+Spanning Tree of a Directed Graph.</em>, by James Gary Propp and
+ David Bruce Wilson. If you want a deepter understanding of the article,
+it is suggested to you have a look at this excellent paper.
+</para>
+<para>
+The class implements two algorithms, namely <em>RandomTreeWithRoot</em>
+and <em>RandomTree</em>.
+</para>
+<para>
+These algorithms apply to general digraphs. No strong connectivity is needed.
+</para>
+<para>
+It must be emphasized that this algorithms generates trees where the edges are directe
+<b>towards</b> the root.
+</para>
+</remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Constructs the algorithm around <paramref name="g"/>.
+ </summary>
+ <remarks>
+ </remarks>
+ <param name="g">visted graph</param>
+ <exception cref="T:System.ArgumentNullException">g is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Algorithms.RandomWalks.IMarkovEdgeChain)">
+ <summary>
+ Constructs the algorithm around <paramref name="g"/> using
+ the <paramref name="edgeChain"/> Markov chain.
+ </summary>
+ <param name="g">visited graph</param>
+ <param name="edgeChain">
+ Markov <see cref="T:QuickGraph.Concepts.IEdge"/> chain generator
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="g"/> or <paramref name="edgeChain"/>
+ is a null reference
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.OnInitializeVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.InitializeVertex"/> event.
+ </summary>
+ <param name="v">vertex being initialized</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.OnFinishVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.FinishVertex"/> event.
+ </summary>
+ <param name="v">vertex being terminated</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.TreeEdge"/> event.
+ </summary>
+ <param name="e">edge being added to the tree</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.OnClearTreeVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.ClearTreeVertex"/> event.
+ </summary>
+ <param name="v">vertex being removed</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.Initialize">
+ <summary>
+ Initializes the tree.
+ </summary>
+ <remarks>
+ <para>
+ Initializes the color dictionary and raises
+ the <see cref="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.InitializeVertex"/> event for each
+ <see cref="T:QuickGraph.Concepts.IVertex"/> in the graph.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.NotInTree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if <paramref name="u"/> is
+ not in the tree.
+ </summary>
+ <remarks>
+ This method checks that <paramref name="u"/> color is white.
+ </remarks>
+ <param name="u">vertex to test</param>
+ <returns>true if not in the tree, false otherwise.</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.SetInTree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Adds <paramref name="u"/> to the tree and raises the
+ <see cref="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.FinishVertex"/> event.
+ </summary>
+ <remarks>
+ Set <paramref name="u"/> color to black.
+ </remarks>
+ <param name="u">vertex to add</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.RandomSuccessor(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets the next <see cref="T:QuickGraph.Concepts.IEdge"/> out-edge according to
+ the Markov Chain generator.
+ </summary>
+ <remarks>
+ This method uses the <see cref="T:QuickGraph.Algorithms.RandomWalks.IMarkovEdgeChain"/> instance
+ to compute the next random out-edge. If <paramref name="u"/> has
+ no out-edge, null is returned.
+ </remarks>
+ <param name="u">Source vertex</param>
+ <returns>next edge in the chain, null if u has no out-edges</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.Tree(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IEdge)">
+ <summary>
+ Sets <paramref name="next"/> as the next edge of <paramref name="u"/>
+ in the tree, and raises the <see cref="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.TreeEdge"/> event.
+ </summary>
+ <remarks>
+ <para>
+ If <paramref name="next"/> is null, nothing is done.
+ </para>
+ </remarks>
+ <param name="u">source vertex</param>
+ <param name="next">next edge in tree</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.NextInTree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets the next vertex in the tree.
+ </summary>
+ <param name="u">source vertex</param>
+ <returns>next vertex in tree if any, null otherwise</returns>
+ </member>
+ <!-- Badly formed XML comment ignored for member "M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.Chance(System.Double)" -->
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.ClearTree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Clears <paramref name="u"/> from the tree and raises the
+ <see cref="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.ClearTreeVertex"/> event.
+ </summary>
+ <remarks>
+ </remarks>
+ <param name="u">vertex to clear</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.RandomTreeWithRoot(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Generates a random tree rooted at <see cref="!:root"/>.
+ </summary>
+ <remarks>
+ <para>
+ This method implements the Cycle-Hopping Random Tree generation
+ algorithm proposed in Propp-Wilson paper. See class summary for
+ further details.
+ </para>
+ </remarks>
+ <param name="root">root vertex</param>
+ <exception cref="T:System.ArgumentNullException">root is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.RandomTree">
+ <summary>
+ Generates a random tree with no specified root.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.Attempt(System.Double)">
+ <summary>
+ Attemps to create a new random tree with probability transition
+ <paramref name="eps"/>.
+ </summary>
+ <param name="eps">probability transition</param>
+ <returns>true if random tree generated, false otherwise</returns>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.VisitedGraph">
+ <summary>
+ Gets the visited <see cref="T:QuickGraph.Concepts.Traversals.IVertexListGraph"/> instance
+ </summary>
+ <value>
+ Visited <see cref="T:QuickGraph.Concepts.Traversals.IVertexListGraph"/> instance
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.Colors">
+ <summary>
+ Get the <see cref="T:QuickGraph.Concepts.IVertex"/> color dictionary
+ </summary>
+ <value>
+ Vertex color dictionary
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.EdgeChain">
+ <summary>
+ Gets or sets the Markov <see cref="T:QuickGraph.Concepts.IEdge"/> chain.
+ </summary>
+ <value>
+ Markov <see cref="T:QuickGraph.Concepts.IEdge"/> chain.
+ </value>
+ <exception cref="T:System.ArgumentNullException">
+ set property, value is a null reference.
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.Rnd">
+ <summary>
+ Gets or sets the random number generator used in <c>RandomTree</c>.
+ </summary>
+ <value>
+ <see cref="T:System.Random"/> number generator
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.Successors">
+ <summary>
+ Gets the dictionary of vertex edges successors in the generated
+ random tree.
+ </summary>
+ <value>
+ Vertex - Edge successor dictionary.
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.InitializeVertex">
+ <summary>
+ Occurs when a vertex is initialized
+ </summary>
+ <remarks/>
+ </member>
+ <member name="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.FinishVertex">
+ <summary>
+ Occurs when a vertex is added to the tree.
+ </summary>
+ <remarks/>
+ </member>
+ <member name="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.TreeEdge">
+ <summary>
+ Occurs when an edge is added to the tree.
+ </summary>
+ <remarks/>
+ </member>
+ <member name="E:QuickGraph.Algorithms.RandomWalks.CyclePoppingRandomTreeAlgorithm.ClearTreeVertex">
+ <summary>
+ Occurs when a vertex is removed from the tree.
+ </summary>
+ <remarks/>
+ </member>
+ <member name="T:QuickGraph.Algorithms.RandomWalks.IMarkovEdgeChain">
+ <summary>
+ When implemented by a class, defines methods to generate a
+ random Markov chain of <see cref="T:QuickGraph.Concepts.IEdge"/>.
+ </summary>
+ <remarks>
+ <para>
+ This interface defines the <c>Successor</c> method which generates
+ a Markov chain of <see cref="T:QuickGraph.Concepts.IEdge"/>. Implemented classes can choose
+ the according distribution properties.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.IMarkovEdgeChain.Successor(QuickGraph.Concepts.Traversals.IImplicitGraph,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Selects the next out-<see cref="T:QuickGraph.Concepts.IEdge"/> in the Markov Chain.
+ </summary>
+ <param name="g">visted graph</param>
+ <param name="u">source vertex</param>
+ <returns>Random next out-edge</returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="g"/> or <paramref name="u"/> is a null reference
+ </exception>
+ </member>
+ <member name="T:QuickGraph.Algorithms.RandomWalks.Markov">
+ <summary>
+ Summary description for Markov.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.RandomWalks.NamespaceDoc">
+ <summary>
+ The <b>QuickGraph.Algorithms.RandomWalks</b> contains
+ algorithm to generate random walks or trees over graphs.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.RandomWalks.NormalizedMarkovEdgeChain">
+ <summary>
+ Markov <see cref="T:QuickGraph.Concepts.IEdge"/> chain generator with the propability vector
+ equally distributed over the out-edges.
+ </summary>
+ <remarks>
+ <value>
+ This class can be used to generate a Markov Chain of <see cref="T:QuickGraph.Concepts.IEdge"/>
+ instance. The probability vector is computed such that each
+ out-edge has the same probability:
+ <code>
+ outEdgeCount = OutDegree(u)
+ Pr[e_i] = 1/outEdgeCount
+ </code>
+ </value>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.NormalizedMarkovEdgeChain.Successor(QuickGraph.Concepts.Traversals.IImplicitGraph,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Selects the next out-<see cref="T:QuickGraph.Concepts.IEdge"/> in the Markov Chain.
+ </summary>
+ <param name="g">visted graph</param>
+ <param name="u">source vertex</param>
+ <returns>Random next out-edge</returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="g"/> or <paramref name="u"/> is a null reference
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.NormalizedMarkovEdgeChain.Rnd">
+ <summary>
+ Gets or sets the random generator
+ </summary>
+ <value>
+ Random number generator
+ </value>
+ </member>
+ <member name="T:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm">
+ <summary>
+ Stochastic Random Walk Generation.
+ </summary>
+ <remarks>
+ <para>
+ This algorithms walks randomly across a directed graph. The probability
+ to choose the next out-edges is provided by a <see cref="T:QuickGraph.Algorithms.RandomWalks.IMarkovEdgeChain"/>
+ instance.
+ </para>
+ <para><b>Events</b></para>
+ <para>
+ The <see cref="E:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.StartVertex"/> is raised on the root vertex of the walk.
+ This event is raised once.
+ </para>
+ <para>
+ On each new edge in the walk, the <see cref="E:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.TreeEdge"/> is raised with
+ the edge added to the walk tree.
+ </para>
+ <para>
+ The <see cref="E:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.EndVertex"/> is raised on the last vertex of the walk.
+ This event is raised once.
+ </para>
+ <para>
+ Custom end of walk condition can be provided by attacing a
+ <see cref="T:QuickGraph.Concepts.Predicates.IEdgePredicate"/> instance to the <see cref="P:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.EndPredicate"/>
+ property.
+ </para>
+ </remarks>
+ <example>ea
+ In this example, we walk in a graph and output the edge using
+ events:
+ <code>
+ // define delegates
+ public void TreeEdge(Object sender, EdgeEventArgs e)
+ {
+ Console.WriteLine(
+ "{0}->{1}",
+ e.Edge.Source.ToString(),
+ e.Edge.Target.ToString());
+ }
+
+ ...
+
+ IVertexListGraph g = ...;
+ // create algo
+ RandomWalkAlgorithm walker = new RandomWalkAlgorithm(g);
+
+ // attach event handler
+ walker.TreeEdge += new EdgeEventHandler(this.TreeEdge);
+ // walk until we read a dead end.
+ waler.Generate(int.MaxValue);
+ </code>
+ </example>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Constructs the algorithm around <paramref name="g"/>.
+ </summary>
+ <remarks>
+ </remarks>
+ <param name="g">visted graph</param>
+ <exception cref="T:System.ArgumentNullException">g is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Algorithms.RandomWalks.IMarkovEdgeChain)">
+ <summary>
+ Constructs the algorithm around <paramref name="g"/> using
+ the <paramref name="edgeChain"/> Markov chain.
+ </summary>
+ <param name="g">visited graph</param>
+ <param name="edgeChain">
+ Markov <see cref="T:QuickGraph.Concepts.IEdge"/> chain generator
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="g"/> or <paramref name="edgeChain"/>
+ is a null reference
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.OnStartVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.StartVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.OnEndVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.EndVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.TreeEdge"/> event.
+ </summary>
+ <param name="e">edge being added to the tree</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.RandomSuccessor(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets the next <see cref="T:QuickGraph.Concepts.IEdge"/> out-edge according to
+ the Markov Chain generator.
+ </summary>
+ <remarks>
+ This method uses the <see cref="T:QuickGraph.Algorithms.RandomWalks.IMarkovEdgeChain"/> instance
+ to compute the next random out-edge. If <paramref name="u"/> has
+ no out-edge, null is returned.
+ </remarks>
+ <param name="u">Source vertex</param>
+ <returns>next edge in the chain, null if u has no out-edges</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.Generate(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Generates a walk of <paramref name="walkCount">steps</paramref>
+ </summary>
+ <param name="walkCount">number of steps</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.Generate(QuickGraph.Concepts.IVertex,System.Int32)">
+ <summary>
+ Generates a walk of <paramref name="walkCount">steps</paramref>
+ </summary>
+ <param name="root">root vertex</param>
+ <param name="walkCount">number of steps</param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.VisitedGraph">
+ <summary>
+ Gets the visited <see cref="T:QuickGraph.Concepts.Traversals.IVertexListGraph"/> instance
+ </summary>
+ <value>
+ Visited <see cref="T:QuickGraph.Concepts.Traversals.IVertexListGraph"/> instance
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.EdgeChain">
+ <summary>
+ Gets or sets the Markov <see cref="T:QuickGraph.Concepts.IEdge"/> chain.
+ </summary>
+ <value>
+ Markov <see cref="T:QuickGraph.Concepts.IEdge"/> chain.
+ </value>
+ <exception cref="T:System.ArgumentNullException">
+ set property, value is a null reference.
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.Rnd">
+ <summary>
+ Gets or sets the random number generator used in <c>RandomTree</c>.
+ </summary>
+ <value>
+ <see cref="T:System.Random"/> number generator
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.EndPredicate">
+ <summary>
+ Gets or sets an end of traversal predicate.
+ </summary>
+ <value>
+ End of traversal predicate.
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.StartVertex">
+ <summary>
+ Raised on the source vertex once before the start of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.EndVertex">
+ <summary>
+ Raised on the sink vertex once after the end of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.RandomWalks.RandomWalkAlgorithm.TreeEdge">
+ <summary>
+ Occurs when an edge is added to the tree.
+ </summary>
+ <remarks/>
+ </member>
+ <member name="T:QuickGraph.Algorithms.RandomWalks.VanishingWeightedMarkovEdgeChain">
+ <summary>
+ Summary description for VanishingWeightedMarkovEdgeChain.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.RandomWalks.WeightedMarkovEdgeChain">
+ <summary>
+ Markov <see cref="T:QuickGraph.Concepts.IEdge"/> chain generator with the propability vector
+ distributed over the out-edges weights.
+ </summary>
+ <remarks>
+ <value>
+ This class can be used to generate a Markov Chain of <see cref="T:QuickGraph.Concepts.IEdge"/>
+ instance. The probability vector is computed such that each
+ out-edge weight sum is 1 (to have a stochastic vector):
+ <code>
+ outWeight = \sum weight[e_i]
+ Pr[e_i] = weight[e_i]/outWeight
+ </code>
+ </value>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.WeightedMarkovEdgeChain.#ctor(QuickGraph.Collections.EdgeDoubleDictionary)">
+ <summary>
+ Construct a markov <see cref="T:QuickGraph.Concepts.IEdge"/> chain based on the
+ <see cref="T:QuickGraph.Collections.EdgeDoubleDictionary"/> edge weight dictionary.
+ </summary>
+ <param name="weights">edge weight dictionary</param>
+ <exception cref="T:System.ArgumentNullException">weights is a null reference
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.RandomWalks.WeightedMarkovEdgeChain.Successor(QuickGraph.Concepts.Traversals.IImplicitGraph,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Selects the next out-<see cref="T:QuickGraph.Concepts.IEdge"/> in the Markov Chain.
+ </summary>
+ <param name="g">visted graph</param>
+ <param name="u">source vertex</param>
+ <returns>Random next out-edge</returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="g"/> or <paramref name="u"/> is a null reference
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.WeightedMarkovEdgeChain.Rnd">
+ <summary>
+ Gets or sets the random generator
+ </summary>
+ <value>
+ Random number generator
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.RandomWalks.WeightedMarkovEdgeChain.Weights">
+ <summary>
+ Gets the edge-weight dictionary
+ </summary>
+ <value>
+ Edge weight dictionary
+ </value>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Ranking.PageRankAlgorithm">
+ <summary>
+ Algorithm that computes the PageRank ranking over a graph.
+ </summary>
+ <remarks>
+ <para>
+ <b>PageRank</b> is a method that initially designed to rank web pages
+ objectively and mechanically. In fact, it is one of the building block
+ of the famous Google search engine.
+ </para>
+ <para>
+ The idea behind PageRank is simple and intuitive: pages that are important are referenced
+ by other important pages. There is an important literature on the web that explains
+ PageRank: http://www-db.stanford.edu/~backrub/google.html,
+ http://www.webworkshop.net/pagerank.html,
+ http://www.miswebdesign.com/resources/articles/pagerank-2.html
+ </para>
+ <para>
+ The PageRank is computed by using the following iterative formula:
+ <code>
+ PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))
+ </code>
+ where <c>PR</c> is the PageRank, <c>d</c> is a damping factor usually set to 0.85,
+ <c>C(v)</c> is the number of out edgesof <c>v</c>.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalVertexListGraph)">
+ <summary>
+ Creates a PageRank algorithm around the visited graph
+ </summary>
+ <param name="visitedGraph">
+ Visited <see cref="T:QuickGraph.Concepts.Traversals.IBidirectionalVertexListGraph"/> instance.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <param name="visitedGraph"/> is a null reference (Nothing in Visual Basic).
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.InitializeRanks">
+ <summary>
+ Initializes the rank map.
+ </summary>
+ <remarks>
+ <para>
+ This method clears the rank map and populates it with rank to one for all vertices.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.RemoveDanglingLinks">
+ <summary>
+ Iteratively removes the dangling links from the rank map
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.Compute">
+ <summary>
+ Computes the PageRank over the <see cref="P:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.VisitedGraph"/>.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.VisitedGraph">
+ <summary>
+ Gets the visited graph
+ </summary>
+ <value>
+ A <see cref="T:QuickGraph.Concepts.Traversals.IVertexListGraph"/> instance
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.Ranks">
+ <summary>
+ Gets the page rank dictionary
+ </summary>
+ <value>
+ The <see cref="T:QuickGraph.Collections.VertexDoubleDictionary"/> of <see cref="T:QuickGraph.Concepts.IVertex"/> - rank entries.ank entries.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.Damping">
+ <summary>
+ Gets or sets the damping factor in the PageRank iteration.
+ </summary>
+ <value>
+ Damping factor in the PageRank formula (<c>d</c>).
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.Tolerance">
+ <summary>
+ Gets or sets the tolerance to stop iteration
+ </summary>
+ <value>
+ The tolerance to stop iteration.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Ranking.PageRankAlgorithm.MaxIteration">
+ <summary>
+ Gets or sets the maximum number of iterations
+ </summary>
+ <value>
+ The maximum number of iteration.
+ </value>
+ </member>
+ <member name="T:QuickGraph.Representations.AdjacencyGraph">
+ <summary>
+ A mutable incidence graph implemetation
+ </summary>
+ <remarks>
+ <seealso cref="T:QuickGraph.Concepts.Modifications.IVertexMutableGraph"/>
+ <seealso cref="T:QuickGraph.Concepts.Modifications.IMutableIncidenceGraph"/>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.#ctor">
+ <summary>
+ Builds a new empty directed graph with default vertex and edge
+ provider.
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.#ctor(System.Boolean)">
+ <summary>
+ Builds a new empty directed graph with default vertex and edge
+ provider.
+ </summary>
+ <param name="allowParallelEdges">true if parallel edges are allowed</param>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.#ctor(QuickGraph.Concepts.Providers.IVertexProvider,QuickGraph.Concepts.Providers.IEdgeProvider,System.Boolean)">
+ <summary>
+ Builds a new empty directed graph with custom providers
+ </summary>
+ <param name="allowParallelEdges">true if the graph allows
+ multiple edges</param>
+ <param name="edgeProvider">custom edge provider</param>
+ <param name="vertexProvider">custom vertex provider</param>
+ <exception cref="T:System.ArgumentNullException">
+ vertexProvider or edgeProvider is a null reference
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.Clear">
+ <summary>
+ Remove all of the edges and vertices from the graph.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.AddVertex">
+ <summary>
+ Add a new vertex to the graph and returns it.
+
+ Complexity: 1 insertion.
+ </summary>
+ <returns>Create vertex</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.AddVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Add a new vertex to the graph and returns it.
+
+ Complexity: 1 insertion.
+ </summary>
+ <returns>Create vertex</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.AddEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Add a new vertex from source to target
+
+ Complexity: 2 search + 1 insertion
+ </summary>
+ <param name="source">Source vertex</param>
+ <param name="target">Target vertex</param>
+ <returns>Created Edge</returns>
+ <exception cref="T:System.ArgumentNullException">source or target is null</exception>
+ <exception cref="T:System.Exception">source or target are not part of the graph</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.AddEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Used for serialization. Not for private use.
+ </summary>
+ <param name="e">edge to add.</param>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.OutEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of out-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.AdjacencyGraph.OutDegree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the out-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.OutDegree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns the number of out-degree edges of v
+ </summary>
+ <param name="v">vertex</param>
+ <returns>number of out-edges of the <see cref="T:QuickGraph.Concepts.IVertex"/> v</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.OutEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns an iterable collection over the edge connected to v
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.QuickGraph#Concepts#Traversals#IImplicitGraph#OutEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Incidence graph implementation
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.SelectSingleOutEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the first out-edge that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>null if not found, otherwize the first Edge that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.SelectOutEdges(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the collection of out-edges that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.QuickGraph#Concepts#Traversals#IFilteredIncidenceGraph#SelectOutEdges(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <param name="ep"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.RemoveVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Removes the vertex from the graph.
+ </summary>
+ <param name="v">vertex to remove</param>
+ <exception cref="T:System.ArgumentNullException">v is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.ClearVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Remove all edges to and from vertex u from the graph.
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.RemoveEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Removes an edge from the graph.
+
+ Complexity: 2 edges removed from the vertex edge list + 1 edge
+ removed from the edge list.
+ </summary>
+ <param name="e">edge to remove</param>
+ <exception cref="T:System.ArgumentNullException">e is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.RemoveEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Remove the edge (u,v) from the graph.
+ If the graph allows parallel edges this remove all occurrences of
+ (u,v).
+ </summary>
+ <param name="u">source vertex</param>
+ <param name="v">target vertex</param>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.RemoveEdgeIf(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove all the edges from graph g for which the predicate pred
+ returns true.
+ </summary>
+ <param name="pred">edge predicate</param>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.RemoveOutEdgeIf(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove all the out-edges of vertex u for which the predicate pred
+ returns true.
+ </summary>
+ <param name="u">vertex</param>
+ <param name="pred">edge predicate</param>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.SelectSingleVertex(QuickGraph.Concepts.Predicates.IVertexPredicate)">
+ <summary>
+ Returns the first vertex that matches the predicate
+ </summary>
+ <param name="vp">vertex predicate</param>
+ <returns>null if not found, otherwize the first vertex that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">vp is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.SelectVertices(QuickGraph.Concepts.Predicates.IVertexPredicate)">
+ <summary>
+ Returns the collection of vertices that matches the predicate
+ </summary>
+ <param name="vp">vertex predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">vp is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.ContainsVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Tests if a vertex is part of the graph
+ </summary>
+ <param name="v">Vertex to test</param>
+ <returns>true if is part of the graph, false otherwize</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.SelectSingleEdge(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the first Edge that matches the predicate
+ </summary>
+ <param name="ep">Edge predicate</param>
+ <returns>null if not found, otherwize the first Edge that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.SelectEdges(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the collection of edges that matches the predicate
+ </summary>
+ <param name="ep">Edge predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.QuickGraph#Concepts#Traversals#IFilteredEdgeListGraph#SelectEdges(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+
+ </summary>
+ <param name="ep"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.ContainsEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Tests if a edge is part of the graph
+ </summary>
+ <param name="e">Edge to test</param>
+ <returns>true if is part of the graph, false otherwize</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.ContainsEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Test if an edge (u,v) is part of the graph
+ </summary>
+ <param name="u">source vertex</param>
+ <param name="v">target vertex</param>
+ <returns>true if part of the graph</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.AdjacencyGraph.AdjacentVertices(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets an enumerable collection of adjacent vertices
+ </summary>
+ <param name="v"></param>
+ <returns>Enumerable collection of adjacent vertices</returns>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.IsDirected">
+ <summary>
+ Gets a value indicating if the graph is directed.
+ </summary>
+ <value>
+ true if the graph is directed, false if undirected.
+ </value>
+ <remarks>
+ <seealso cref="T:QuickGraph.Concepts.IGraph"/>
+ </remarks>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.AllowParallelEdges">
+ <summary>
+ Gets a value indicating if the graph allows parralell edges.
+ </summary>
+ <value>
+ true if the graph is a multi-graph, false otherwise
+ </value>
+ <remarks>
+ <seealso cref="T:QuickGraph.Concepts.IGraph"/>
+ </remarks>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.VertexOutEdges">
+ <summary>
+ Vertex Out edges dictionary
+ </summary>
+ <value>
+ Dictionary of <see cref="T:QuickGraph.Concepts.IVertex"/> to out edge collection.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.VertexProvider">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.IVertex"/> provider
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.IVertex"/> provider
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.EdgeProvider">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.IEdge"/> provider
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.IEdge"/> provider
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.VerticesEmpty">
+ <summary>
+ Gets a value indicating if the vertex set is empty
+ </summary>
+ <para>
+ Usually faster (O(1)) that calling <c>VertexCount</c>.
+ </para>
+ <value>
+ true if the vertex set is empty, false otherwise.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.VerticesCount">
+ <summary>
+ Gets the number of vertices
+ </summary>
+ <value>
+ Number of vertices in the graph
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.Vertices">
+ <summary>
+ Enumerable collection of vertices.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.QuickGraph#Concepts#Traversals#IVertexListGraph#Vertices">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.EdgesEmpty">
+ <summary>
+ Gets a value indicating if the vertex set is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="P:QuickGraph.Representations.AdjacencyGraph.EdgesCount"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the vertex set is empty, false otherwise.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.EdgesCount">
+ <summary>
+ Gets the edge count
+ </summary>
+ <remarks>
+ Edges count
+ </remarks>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.Edges">
+ <summary>
+ Enumerable collection of edges.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.AdjacencyGraph.QuickGraph#Concepts#Traversals#IEdgeListGraph#Edges">
+ <summary>
+ IEdgeListGraph implementation
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Representations.BidirectionalAdaptorGraph">
+ <summary>
+ Creates a bidirectional graph out of a
+ <see cref="T:QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph"/> graph.
+ </summary>
+ <remarks>
+ <para>
+ This class adapts a <see cref="T:QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph"/> to support
+ in-edge traversal. Be aware, that the in-edge traversal is less
+ efficient that using specialized classes.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.#ctor(QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph)">
+ <summary>
+ Constructor
+ </summary>
+ <param name="g"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.OutEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of out-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.BidirectionalAdaptorGraph.OutDegree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the out-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.OutDegree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns the number of out-degree edges of v
+ </summary>
+ <param name="v">vertex to test</param>
+ <returns>out-degree</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.OutEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns an iterable collection of the out edges of v
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.InEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of in-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.BidirectionalAdaptorGraph.InDegree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the in-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.InDegree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns the number of in-edges (for directed graphs) or the number
+ of incident edges (for undirected graphs) of vertex v in graph g.
+ </summary>
+ <param name="v">vertex to test</param>
+ <returns>out-degree</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.AdjacentEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of edges connected to v is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.BidirectionalAdaptorGraph.Degree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the adjacent edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.Degree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns the number of in-edges plus out-edges (for directed graphs)
+ or the number of incident edges (for undirected graphs) of
+ vertex v in graph g.
+ </summary>
+ <param name="v">vertex to test</param>
+ <returns>out-degree</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.InEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Enumerable collection of in-edges
+ </summary>
+ <remarks>
+ <para>
+ Returns an enumerable collection of in-edges (for directed graphs)
+ or incident edges (for undirected graphs) of vertex v in graph g.
+ </para>
+ <para>
+ For both directed and undirected graphs, the target of an out-edge
+ is required to be vertex v and the source is required to be a
+ vertex that is adjacent to v.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.ContainsEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+
+ </summary>
+ <param name="u"></param>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.ContainsVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalAdaptorGraph.AdjacentVertices(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets an enumerable collection of the v adjacent vertices
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="P:QuickGraph.Representations.BidirectionalAdaptorGraph.Graph">
+ <summary>
+ Adapted graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.BidirectionalAdaptorGraph.IsDirected">
+ <summary>
+ Directed state
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.BidirectionalAdaptorGraph.AllowParallelEdges">
+ <summary>
+ True if parallel edges allowed
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.BidirectionalAdaptorGraph.VerticesEmpty">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.BidirectionalAdaptorGraph.Vertices">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.BidirectionalAdaptorGraph.VerticesCount">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Representations.BidirectionalGraph">
+ <summary>
+ A mutable bidirectional graph implemetation
+ </summary>
+ <remarks>
+ <seealso cref="T:QuickGraph.Representations.AdjacencyGraph"/>
+ <seealso cref="T:QuickGraph.Concepts.Traversals.IBidirectionalGraph"/>
+ <seealso cref="T:QuickGraph.Concepts.Modifications.IMutableBidirectionalGraph"/>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.#ctor(System.Boolean)">
+ <summary>
+ Builds a new empty graph with default vertex and edge providers
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.#ctor(QuickGraph.Concepts.Providers.IVertexProvider,QuickGraph.Concepts.Providers.IEdgeProvider,System.Boolean)">
+ <summary>
+ Builds a new empty graph
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.Clear">
+ <summary>
+ Remove all of the edges and vertices from the graph.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.AddVertex">
+ <summary>
+ Add a new vertex to the graph and returns it.
+
+ Complexity: 1 insertion.
+ </summary>
+ <returns>Create vertex</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.AddVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Adds a new vertex to the graph.
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.AddEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Add a new vertex from source to target
+
+ Complexity: 2 search + 1 insertion
+ </summary>
+ <param name="source">Source vertex</param>
+ <param name="target">Target vertex</param>
+ <returns>Created Edge</returns>
+ <exception cref="T:System.ArgumentNullException">source or target is null</exception>
+ <exception cref="T:System.Exception">source or target are not part of the graph</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.AddEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Adds a new edge to the graph
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.InEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of in-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.BidirectionalGraph.InDegree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the in-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.InDegree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns the number of in-degree edges of v
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.InEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns an iterable collection over the in-edge connected to v
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.QuickGraph#Concepts#Traversals#IBidirectionalGraph#InEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Incidence graph implementation
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.SelectSingleInEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the first in-edge that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>null if not found, otherwize the first Edge that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.SelectInEdges(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the collection of in-edges that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.QuickGraph#Concepts#Traversals#IFilteredBidirectionalGraph#SelectInEdges(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <param name="ep"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.RemoveVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Removes the vertex from the graph.
+ </summary>
+ <param name="v">vertex to remove</param>
+ <exception cref="T:System.ArgumentNullException">v is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.ClearVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Remove all edges to and from vertex u from the graph.
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.RemoveEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Removes an edge from the graph.
+
+ Complexity: 2 edges removed from the vertex edge list + 1 edge
+ removed from the edge list.
+ </summary>
+ <param name="e">edge to remove</param>
+ <exception cref="T:System.ArgumentNullException">e is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.RemoveEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Remove the edge (u,v) from the graph.
+ If the graph allows parallel edges this remove all occurrences of
+ (u,v).
+ </summary>
+ <param name="u">source vertex</param>
+ <param name="v">target vertex</param>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.RemoveInEdgeIf(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove all the out-edges of vertex u for which the predicate pred
+ returns true.
+ </summary>
+ <param name="u">vertex</param>
+ <param name="pred">edge predicate</param>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.AdjacentEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of edges connected to v is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.BidirectionalGraph.Degree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the adjacent edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.BidirectionalGraph.Degree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns the number of in-edges plus out-edges.
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="P:QuickGraph.Representations.BidirectionalGraph.VertexInEdges">
+ <summary>
+ Vertex Out edges dictionary
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Representations.ClusteredAdjacencyGraph">
+ <summary>
+ A clustered adjacency graph
+ </summary>
+ <remarks>
+ <para>
+ This class implements a clustered <see cref="T:QuickGraph.Representations.AdjacencyGraph"/>:
+ an <see cref="T:QuickGraph.Representations.AdjacencyGraph"/>
+ that has sub-graphs (clusters). Each cluster is a
+ <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/> which can also have sub-graphs.
+ </para>
+ <para>
+ Suppose that <c>G=(V,E)</c> is the main graph and
+ that <c>G1=(V1,E1)</c> is a cluster:
+ <list type="bullet">
+ <item>
+ <description>If <c>v</c> is added to <c>V1</c>, then <c>v</c> also
+ belongs to V.</description>
+ </item>
+ <item>
+ <description>If <c>v</c> is added to <c>V</c>, then <c>v</c> does not
+ belong to <c>V1</c>.</description>
+ </item>
+ </list>
+ </para>
+ <para>
+ <b>Threading:</b>
+ Not thread safe.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.#ctor(QuickGraph.Representations.AdjacencyGraph)">
+ <summary>
+ Constructs a <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/> on top of
+ the <see cref="T:QuickGraph.Representations.AdjacencyGraph"/> object.
+ </summary>
+ <param name="wrapped">parent graph</param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.#ctor(QuickGraph.Representations.ClusteredAdjacencyGraph)">
+ <summary>
+ Construct a cluster inside another cluster
+ </summary>
+ <param name="parent"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.ContainsEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Determines whether the <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/>
+ contains the edge <paramref name="e"/>.
+ </summary>
+ <param name="e">
+ The edge to locate in <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/>.
+ </param>
+ <returns>
+ true if the <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/> contains
+ the edge <paramref name="e"/>; otherwise, false.
+ </returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.ContainsEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Determines whether the <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/>
+ contains an edge from the vertex <paramref name="u"/> to
+ the vertex <paramref name="v"/>.
+ </summary>
+ <param name="u">
+ The source vertex of the edge(s) to locate in <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/>.
+ </param>
+ <param name="v">
+ The target vertex of the edge(s) to locate in <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/>.
+ </param>
+ <returns>
+ true if the <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/> contains
+ the edge (<paramref name="u"/>, <paramref name="v"/>); otherwise, false.
+ </returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.ContainsVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Determines whether the <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/>
+ contains the vertex <paramref name="v"/>.
+ </summary>
+ <param name="v">
+ The vertex to locate in <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/>.
+ </param>
+ <returns>
+ true if the <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/> contains
+ the vertex <paramref name="v"/>; otherwise, false.
+ </returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.SelectEdges(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Gets a filtered <see cref="T:QuickGraph.Concepts.Collections.IEdgeEnumerable"/> collection of edges.
+ </summary>
+ <param name="ep">edge predicate</param>
+ <returns>filetered collection</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.SelectOutEdges(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <param name="ep"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.OutEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.OutEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of out-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.ClusteredAdjacencyGraph.OutDegree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the out-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.OutDegree(QuickGraph.Concepts.IVertex)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.SelectSingleEdge(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+
+ </summary>
+ <param name="ep"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.SelectSingleOutEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <param name="ep"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.SelectSingleVertex(QuickGraph.Concepts.Predicates.IVertexPredicate)">
+ <summary>
+
+ </summary>
+ <param name="vp"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.SelectVertices(QuickGraph.Concepts.Predicates.IVertexPredicate)">
+ <summary>
+
+ </summary>
+ <param name="vp"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.AddCluster">
+ <summary>
+ Adds a new cluster.
+ </summary>
+ <returns>New cluster</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.QuickGraph#Concepts#Traversals#IClusteredGraph#AddCluster">
+ <summary>
+
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.RemoveCluster(QuickGraph.Concepts.Traversals.IClusteredGraph)">
+ <summary>
+ Removes a cluster
+ </summary>
+ <param name="cluster">cluster to remove</param>
+ <exception cref="T:System.ArgumentNullException">cluster is a null reference.</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.AddVertex">
+ <summary>
+ Adds a new vertex to the cluster
+ </summary>
+ <returns>new vertex</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.AddVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Adds an existing vertex to the cluster
+ </summary>
+ <param name="v">vertex to add</param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.AddEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Adds a new edge
+ </summary>
+ <param name="u">source vertex</param>
+ <param name="v">target edge</param>
+ <returns>added edge</returns>
+ <exception cref="T:System.ArgumentNullException">u or v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.AddEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Adds an existing edge to the cluster
+ </summary>
+ <param name="e">edge to add</param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.RemoveVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Removes a vertex from the cluster
+ </summary>
+ <param name="u"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.ClearVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Clears vertex out-edges
+ </summary>
+ <param name="u"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.RemoveEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Remove a specific edge
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.RemoveEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Remove edges from u to v
+ </summary>
+ <param name="u"></param>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.RemoveOutEdgeIf(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove out edge satisfying the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.RemoveEdgeIf(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove edge satifying the predicate
+ </summary>
+ <param name="ep"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.ClusteredAdjacencyGraph.AdjacentVertices(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets an enumerable collection of the v adjacent vertices
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.Parent">
+ <summary>
+ Gets the parent <see cref="T:QuickGraph.Representations.AdjacencyGraph"/>.
+ </summary>
+ <value>
+ Parent <see cref="T:QuickGraph.Representations.AdjacencyGraph"/>.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.Colapsed">
+ <summary>
+ Not implemented yet.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.Wrapped">
+ <summary>
+ Gets the wrapped <see cref="T:QuickGraph.Representations.AdjacencyGraph"/> object.
+ </summary>
+ <remarks>
+ Wrapped <see cref="T:QuickGraph.Representations.AdjacencyGraph"/> object. Can be a
+ <see cref="T:QuickGraph.Representations.ClusteredAdjacencyGraph"/>.
+ </remarks>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.IsDirected">
+ <summary>
+ Gets a value indicating whether the graph is directed.
+ </summary>
+ <value>
+ true if the graph is directed, false otherwize.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.AllowParallelEdges">
+ <summary>
+ Gets a value indicating whether the graph allows parallel edges.
+ </summary>
+ <value>
+ true if the graph allows parallel edges, false otherwize.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.VertexProvider">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.Providers.IVertexProvider"/> used to generate the vertices.
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.Providers.IVertexProvider"/> instance used to generate the new
+ vertices.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.EdgeProvider">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.Providers.IEdgeProvider"/> used to generate the edges.
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.Providers.IEdgeProvider"/> instance used to generate the new
+ edges.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.EdgesEmpty">
+ <summary>
+ Gets a value indicating if the vertex set is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="P:QuickGraph.Representations.ClusteredAdjacencyGraph.EdgesCount"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the vertex set is empty, false otherwise.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.Edges">
+ <summary>
+ Gets an enumerable collection of edges.
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.Collections.IEdgeEnumerable"/> collection of edges.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.EdgesCount">
+ <summary>
+ Gets the edge count.
+ </summary>
+ <value>
+ Edge count.
+ </value>
+ <remarks>
+ Complexity: O(E)
+ </remarks>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.VerticesEmpty">
+ <summary>
+ Gets a value indicating if the vertex set is empty
+ </summary>
+ <para>
+ Usually faster (O(1)) that calling <c>VertexCount</c>.
+ </para>
+ <value>
+ true if the vertex set is empty, false otherwise.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.Vertices">
+ <summary>
+ Gets an enumerable collection of vertices.
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.Collections.IVertexEnumerable"/> collection of vertices.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.VerticesCount">
+ <summary>
+ Gets the vertex count.
+ </summary>
+ <value>
+ Vertex count.
+ </value>
+ <remarks>
+ Complexity: O(V)
+ </remarks>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.Clusters">
+ <summary>
+ Gets an enumerable collection of clusters
+ </summary>
+ <value>
+ Enumerable collection of clusters
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.ClusteredAdjacencyGraph.ClustersCount">
+ <summary>
+ Gets the number of clusters
+ </summary>
+ <value>
+ Number of clusters
+ </value>
+ </member>
+ <member name="T:QuickGraph.Representations.EdgeList">
+ <summary>
+ An edge-list representation of a graph is simply a sequence of edges,
+ where each edge is represented as a pair of vertex ID's.
+ </summary>
+ <remarks>
+ <para>
+ The EdgeList class is an adaptor that turns an edge collection
+ into a class that models IEdgeListGraph.
+ The value type of the edge collection must be be inherited form IEdge.
+ </para>
+ <para>
+ An edge-list representation of a graph is simply a sequence of edges,
+ where each edge is represented as a pair of vertex ID's.
+ The memory required is only O(E). Edge insertion is typically O(1),
+ though accessing a particular edge is O(E) (not efficient).
+ </para>
+ <seealso cref="T:QuickGraph.Concepts.Traversals.IEdgeListGraph"/>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.EdgeList.#ctor(QuickGraph.Concepts.Collections.IEdgeCollection,System.Boolean,System.Boolean)">
+ <summary>
+ Builds an EdgeListGraph out of a edges collection
+ </summary>
+ <param name="edges"></param>
+ <param name="isDirected"></param>
+ <param name="allowParallelEdges"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.EdgeList.ContainsEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+
+ </summary>
+ <param name="e"></param>
+ <returns></returns>
+ </member>
+ <member name="P:QuickGraph.Representations.EdgeList.IsDirected">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.EdgeList.AllowParallelEdges">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.EdgeList.EdgesEmpty">
+ <summary>
+ Gets a value indicating if the vertex set is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="P:QuickGraph.Representations.EdgeList.EdgesCount"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the vertex set is empty, false otherwise.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.EdgeList.EdgesCount">
+ <summary>
+ Returns the number of edges in the graph.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.EdgeList.Edges">
+ <summary>
+ Returns an enumerator providing access to all the edges in the graph.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.EdgeList.QuickGraph#Concepts#Traversals#IEdgeListGraph#Edges">
+ <summary>
+ IEdgeListGraph implemetentation.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Representations.MutableTreeAdapterGraph">
+ <summary>
+ A mutable tree-like graph
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Representations.TreeAdaptorGraph">
+ <summary>
+ A tree-like wrapper for bidirectional graph
+ </summary>
+ <remarks>
+ <para>
+ This interface defines a DOM like tree node structure.
+ </para>
+ <para>
+ Graphs used with this interface must be directed, not
+ allowing parrallel edges. However, they can be cylic
+ but the in-degree of each vertex must be equal to 1.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.TreeAdaptorGraph.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalGraph)">
+ <summary>
+ Wraps a graph into a tree-like structure
+ </summary>
+ <param name="wrapped"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.TreeAdaptorGraph.ParentVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.IVertex"/> parent.
+ </summary>
+ <param name="v">current vertex</param>
+ <returns>
+ parent vertex if any, null reference otherwize
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="v"/> is a null reference
+ </exception>
+ <exception cref="T:QuickGraph.Exceptions.MultipleInEdgeException">
+ <paramref name="v"/> has multiple in-edges
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Representations.TreeAdaptorGraph.FirstChild(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets the first adjacent vertex
+ </summary>
+ <param name="v">current vertex</param>
+ <returns>first out-vertex</returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="v"/> is a null reference
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Representations.TreeAdaptorGraph.LastChild(QuickGraph.Concepts.IVertex)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="v"/> is a null reference
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Representations.TreeAdaptorGraph.HasChildVertices(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the <see cref="T:QuickGraph.Concepts.IVertex"/> has out-edges
+ </summary>
+ <param name="v"><see cref="T:QuickGraph.Concepts.IVertex"/> to test</param>
+ <returns>true if <paramref name="v"/> has out-edges.</returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="v"/> is a null reference
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Representations.TreeAdaptorGraph.ChildVertices(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets an enumerable collection of child <see cref="T:QuickGraph.Concepts.IVertex"/>
+ </summary>
+ <param name="v">current <see cref="T:QuickGraph.Concepts.IVertex"/></param>
+ <returns>An enumerable collection of adjacent vertices</returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="v"/> is a null reference
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Representations.TreeAdaptorGraph.Wrapped">
+ <summary>
+ Gets the wrapped <see cref="T:QuickGraph.Concepts.Traversals.IBidirectionalGraph"/> instance.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.MutableTreeAdapterGraph.#ctor(QuickGraph.Concepts.MutableTraversals.IMutableBidirectionalVertexAndEdgeListGraph,System.Boolean)">
+ <summary>
+ Creates a mutable tree wrapper
+ </summary>
+ <param name="g">wrapped graph</param>
+ <param name="allowCycles">cycle tolerance</param>
+ </member>
+ <member name="M:QuickGraph.Representations.MutableTreeAdapterGraph.AddChild(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Adds a child vertex to the tree
+ </summary>
+ <param name="parent">parent vertex</param>
+ <returns>created vertex</returns>
+ <exception cref="T:System.ArgumentNullException">parent is a null reference</exception>
+ <exception cref="!:NonAcyclicGraphException">
+ if <c>AllowCycles</c> is false and the edge creates a cycle
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Representations.MutableTreeAdapterGraph.RemoveTree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Removes vertex and sub-tree
+ </summary>
+ <param name="v">vertex to remove</param>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ <exception cref="!:GraphNotStronglyConnectedExceptoin">
+ Removing the vertex breaks the graph connectivity
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Representations.MutableTreeAdapterGraph.AllowCycles">
+ <summary>
+ Gets a value indicating if the tree allows cycles
+ </summary>
+ <value>
+ true if it allows cycle, false otherwise
+ </value>
+ </member>
+ <member name="T:QuickGraph.Representations.NamespaceDoc">
+ <summary>
+ <para>
+ The <b>QuickGraph.Representations</b> namespace contains
+ implementations of the graph concepts (traversal concepts and
+ modification concepts).
+ </para>
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Representations.Petri.PetriGraph">
+ <summary>
+ A mutable incidence graph implemetation
+ </summary>
+ <remarks>
+ <seealso cref="T:QuickGraph.Concepts.Modifications.IVertexMutableGraph"/>
+ <seealso cref="T:QuickGraph.Concepts.Modifications.IMutableIncidenceGraph"/>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.#ctor">
+ <summary>
+ Builds a new empty directed graph with default vertex and edge
+ provider.
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.#ctor(System.Boolean)">
+ <summary>
+ Builds a new empty directed graph with default vertex and edge
+ provider.
+ </summary>
+ <param name="allowParallelEdges">true if parallel edges are allowed</param>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.#ctor(QuickGraph.Concepts.Providers.IVertexProvider,QuickGraph.Concepts.Providers.IEdgeProvider,System.Boolean)">
+ <summary>
+ Builds a new empty directed graph with custom providers
+ </summary>
+ <param name="allowParallelEdges">true if the graph allows
+ multiple edges</param>
+ <param name="edgeProvider">custom edge provider</param>
+ <param name="vertexProvider">custom vertex provider</param>
+ <exception cref="T:System.ArgumentNullException">
+ vertexProvider or edgeProvider is a null reference
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.Clear">
+ <summary>
+ Remove all of the edges and vertices from the graph.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.AddVertex">
+ <summary>
+ Add a new vertex to the graph and returns it.
+
+ Complexity: 1 insertion.
+ </summary>
+ <returns>Create vertex</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.AddVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Add a new vertex to the graph and returns it.
+
+ Complexity: 1 insertion.
+ </summary>
+ <returns>Create vertex</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.AddEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Add a new vertex from source to target
+
+ Complexity: 2 search + 1 insertion
+ </summary>
+ <param name="source">Source vertex</param>
+ <param name="target">Target vertex</param>
+ <returns>Created Edge</returns>
+ <exception cref="T:System.ArgumentNullException">source or target is null</exception>
+ <exception cref="T:System.Exception">source or target are not part of the graph</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.AddEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Used for serialization. Not for private use.
+ </summary>
+ <param name="e">edge to add.</param>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.OutEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of out-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.Petri.PetriGraph.OutDegree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the out-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.OutDegree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns the number of out-degree edges of v
+ </summary>
+ <param name="v">vertex</param>
+ <returns>number of out-edges of the <see cref="T:QuickGraph.Concepts.IVertex"/> v</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.OutEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns an iterable collection over the edge connected to v
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.QuickGraph#Concepts#Traversals#IImplicitGraph#OutEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Incidence graph implementation
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.SelectSingleOutEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the first out-edge that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>null if not found, otherwize the first Edge that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.SelectOutEdges(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the collection of out-edges that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.QuickGraph#Concepts#Traversals#IFilteredIncidenceGraph#SelectOutEdges(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <param name="ep"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.RemoveVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Removes the vertex from the graph.
+ </summary>
+ <param name="v">vertex to remove</param>
+ <exception cref="T:System.ArgumentNullException">v is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.ClearVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Remove all edges to and from vertex u from the graph.
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.RemoveEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Removes an edge from the graph.
+
+ Complexity: 2 edges removed from the vertex edge list + 1 edge
+ removed from the edge list.
+ </summary>
+ <param name="e">edge to remove</param>
+ <exception cref="T:System.ArgumentNullException">e is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.RemoveEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Remove the edge (u,v) from the graph.
+ If the graph allows parallel edges this remove all occurrences of
+ (u,v).
+ </summary>
+ <param name="u">source vertex</param>
+ <param name="v">target vertex</param>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.RemoveEdgeIf(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove all the edges from graph g for which the predicate pred
+ returns true.
+ </summary>
+ <param name="pred">edge predicate</param>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.RemoveOutEdgeIf(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove all the out-edges of vertex u for which the predicate pred
+ returns true.
+ </summary>
+ <param name="u">vertex</param>
+ <param name="pred">edge predicate</param>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.SelectSingleVertex(QuickGraph.Concepts.Predicates.IVertexPredicate)">
+ <summary>
+ Returns the first vertex that matches the predicate
+ </summary>
+ <param name="vp">vertex predicate</param>
+ <returns>null if not found, otherwize the first vertex that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">vp is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.SelectVertices(QuickGraph.Concepts.Predicates.IVertexPredicate)">
+ <summary>
+ Returns the collection of vertices that matches the predicate
+ </summary>
+ <param name="vp">vertex predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">vp is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.ContainsVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Tests if a vertex is part of the graph
+ </summary>
+ <param name="v">Vertex to test</param>
+ <returns>true if is part of the graph, false otherwize</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.SelectSingleEdge(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the first Edge that matches the predicate
+ </summary>
+ <param name="ep">Edge predicate</param>
+ <returns>null if not found, otherwize the first Edge that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.SelectEdges(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the collection of edges that matches the predicate
+ </summary>
+ <param name="ep">Edge predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">ep is null</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.QuickGraph#Concepts#Traversals#IFilteredEdgeListGraph#SelectEdges(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+
+ </summary>
+ <param name="ep"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.ContainsEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Tests if a edge is part of the graph
+ </summary>
+ <param name="e">Edge to test</param>
+ <returns>true if is part of the graph, false otherwize</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.ContainsEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Test is an edge (u,v) is part of the graph
+ </summary>
+ <param name="u">source vertex</param>
+ <param name="v">target vertex</param>
+ <returns>true if part of the graph</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Petri.PetriGraph.AdjacentVertices(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets an enumerable collection of adjacent vertices
+ </summary>
+ <param name="v"></param>
+ <returns>Enumerable collection of adjacent vertices</returns>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.IsDirected">
+ <summary>
+ Gets a value indicating if the graph is directed.
+ </summary>
+ <value>
+ true if the graph is directed, false if undirected.
+ </value>
+ <remarks>
+ <seealso cref="T:QuickGraph.Concepts.IGraph"/>
+ </remarks>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.AllowParallelEdges">
+ <summary>
+ Gets a value indicating if the graph allows parralell edges.
+ </summary>
+ <value>
+ true if the graph is a multi-graph, false otherwise
+ </value>
+ <remarks>
+ <seealso cref="T:QuickGraph.Concepts.IGraph"/>
+ </remarks>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.VertexOutEdges">
+ <summary>
+ Vertex Out edges dictionary
+ </summary>
+ <value>
+ Dictionary of <see cref="T:QuickGraph.Concepts.IVertex"/> to out edge collection.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.VertexProvider">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.IVertex"/> provider
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.IVertex"/> provider
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.EdgeProvider">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.IEdge"/> provider
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.IEdge"/> provider
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.VerticesEmpty">
+ <summary>
+ Gets a value indicating if the vertex set is empty
+ </summary>
+ <para>
+ Usually faster (O(1)) that calling <c>VertexCount</c>.
+ </para>
+ <value>
+ true if the vertex set is empty, false otherwise.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.VerticesCount">
+ <summary>
+ Gets the number of vertices
+ </summary>
+ <value>
+ Number of vertices in the graph
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.Vertices">
+ <summary>
+ Enumerable collection of vertices.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.QuickGraph#Concepts#Traversals#IVertexListGraph#Vertices">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.EdgesEmpty">
+ <summary>
+ Gets a value indicating if the vertex set is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="P:QuickGraph.Representations.Petri.PetriGraph.EdgesCount"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the vertex set is empty, false otherwise.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.EdgesCount">
+ <summary>
+ Gets the edge count
+ </summary>
+ <remarks>
+ Edges count
+ </remarks>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.Edges">
+ <summary>
+ Enumerable collection of edges.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.Petri.PetriGraph.QuickGraph#Concepts#Traversals#IEdgeListGraph#Edges">
+ <summary>
+ IEdgeListGraph implementation
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Representations.Representation">
+ <summary>
+ Summary description for Representation.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Representations.Representation.OutVertexTree(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Concepts.IVertex,System.Int32)">
+ <summary>
+ Records all the vertices that are part of the out-subtree of v
+ </summary>
+ <param name="g">visited graph</param>
+ <param name="v">root vertex</param>
+ <param name="maxDepth">Maximum exploration depth</param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Representation.InVertexTree(QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph,QuickGraph.Concepts.IVertex,System.Int32)">
+ <summary>
+ Records all the vertices that are part of the in-subtree of v
+ </summary>
+ <param name="g">visited graph</param>
+ <param name="v">root vertex</param>
+ <param name="maxDepth">Maximum exploration depth</param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Representation.OutEdgeTree(QuickGraph.Concepts.Traversals.IEdgeListAndIncidenceGraph,QuickGraph.Concepts.IEdge,System.Int32)">
+ <summary>
+ Records all the edges that are part of the subtree of v
+ </summary>
+ <param name="g">visited graph</param>
+ <param name="e">root edge</param>
+ <param name="maxDepth">maximum expolration depth</param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Representation.InEdgeTree(QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph,QuickGraph.Concepts.IEdge,System.Int32)">
+ <summary>
+ Records all the edges that are part of the subtree of v
+ </summary>
+ <param name="g">visited graph</param>
+ <param name="e">root edge</param>
+ <param name="maxDepth">maximum expolration depth</param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.Representation.dfs_BackEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Used in OutEdgeTree
+ </summary>
+ <param name="sender"></param>
+ <param name="e"></param>
+ </member>
+ <member name="T:QuickGraph.Representations.ReversedBidirectionalGraph">
+ <summary>
+ Adaptor to flip in-edges and out-edges.
+ </summary>
+ <remarks>
+ <para>
+ This adaptor flips the in-edges and out-edges of a IBidirectionalGraph,
+ effectively transposing the graph.
+ </para>
+ <para>
+ The construction of the reverse graph is constant time,
+ providing a highly efficient way to obtain a transposed-view of a
+ graph.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph)">
+ <summary>
+ Construct a reversed graph adaptor
+ </summary>
+ <param name="g">Graph to adapt</param>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.InEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of in-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.ReversedBidirectionalGraph.InDegree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the in-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.InDegree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Flipped out-degree
+ </summary>
+ <param name="v">vertex to compute</param>
+ <returns>transposed out-edgree</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.OutEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of out-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.ReversedBidirectionalGraph.OutDegree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the out-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.OutDegree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Flipped in-degree
+ </summary>
+ <param name="v">vertex to compute</param>
+ <returns>transposed in-edgree</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.AdjacentEdgesEmpty(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if the set of edges connected to v is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:QuickGraph.Representations.ReversedBidirectionalGraph.Degree(QuickGraph.Concepts.IVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the adjacent edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.Degree(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Vertex degree
+ </summary>
+ <param name="v">vertex to compute</param>
+ <returns>vertex edgree</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.InEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns a transposed out-edges enumerable
+ </summary>
+ <param name="v">vertex to compute</param>
+ <returns>transposed out edges enumerable</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.OutEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns a transposed in-edges enumerable
+ </summary>
+ <param name="v">vertex to compute</param>
+ <returns>transposed in edges enumerable</returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.ContainsEdge(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ Check the graph contains an edge from <paramref name="u"/>
+ to <paramref name="v"/>.
+ </summary>
+ <param name="u"></param>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Representations.ReversedBidirectionalGraph.AdjacentVertices(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets an enumerable collection of the v adjacent vertices
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="P:QuickGraph.Representations.ReversedBidirectionalGraph.ReversedGraph">
+ <summary>
+ Reversed graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.ReversedBidirectionalGraph.IsDirected">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Representations.ReversedBidirectionalGraph.AllowParallelEdges">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm">
+ <summary>
+ Performs a breadth-first traversal
+ of a directed or undirected graph.
+ </summary>
+ <remarks>
+ <para>
+ A breadth-first-search (BFS) traversal visits vertices that are closer to the
+ source before visiting vertices that are further away.
+ In this context ``distance'' is defined as the number of edges in the
+ shortest path from the source vertex.
+ </para>
+ <para>
+ The BFS can be used to compute the shortest
+ path from the source to all reachable vertices and the resulting
+ shortest-path distances.
+ </para>
+ <para>
+ BFS uses two data structures to to implement the traversal:
+ a color marker for each vertex and a queue.
+ White vertices are undiscovered while gray vertices are discovered
+ but have undiscovered adjacent vertices. Black vertices are discovered
+ and are adjacent to only other black or gray vertices.
+ </para>
+ <para>
+ The algorithm proceeds by removing a vertex u from the queue and
+ examining each out-edge (u,v). If an adjacent vertex v is not already
+ discovered, it is colored gray and placed in the queue. After all of
+ the out-edges are examined, vertex u is colored black and the process
+ is repeated. Pseudo-code for the BFS algorithm is a listed below.
+ </para>
+ <code>
+ IVertexListGraph g;
+ BFS(IVertex s)
+ {
+ // initialize vertices
+ foreach(IVertex u in g.Vertices)
+ {
+ Colors[u] = White;
+ OnInitializeVertex(u); // event
+ }
+
+ Visit(s);
+ }
+
+ Visit(IVertex s)
+ {
+ Colors[s]=GraphColor.Gray;
+ OnDiscoverVertex(s); //event
+
+ m_Q.Push(s);
+ while (m_Q.Count != 0)
+ {
+ IVertex u = m_Q.Peek();
+ m_Q.Pop();
+ OnExamineVertex(u); // event
+
+ foreach(Edge e in g.OutEdges(u))
+ {
+ OnExamineEdge(e); // event
+
+ GraphColor vColor = Colors[e.Target];
+ if (vColor == GraphColor.White)
+ {
+ OnTreeEdge(e); // event
+ OnDiscoverVertex(v); // event
+ Colors[v]=GraphColor.Gray;
+ m_Q.Push(v);
+ }
+ else
+ {
+ OnNonTreeEdge(e);
+ if (vColor == GraphColor.Gray)
+ {
+ OnGrayTarget(e); // event
+ }
+ else
+ {
+ OnBlackTarget(e); //event
+ }
+ }
+ }
+ Colors[u]=GraphColor.Black;
+ OnFinishVertex(this, uArgs);
+ }
+ }
+ </code>
+ <para>This algorithm is directly inspired from the
+ BoostGraphLibrary implementation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ BreadthFirstSearch searcher constructor
+ </summary>
+ <param name="g">Graph to visit</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.VertexBuffer,QuickGraph.Collections.VertexColorDictionary)">
+ <summary>
+ BreadthFirstSearch searcher contructor
+ </summary>
+ <param name="g">Graph to visit</param>
+ <param name="q">Vertex buffer</param>
+ <param name="colors">Vertex color map</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.OnInitializeVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.InitializeVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.OnExamineVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.ExamineVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.OnDiscoverVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.DiscoverVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.OnExamineEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.ExamineEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.TreeEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.OnNonTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.NonTreeEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.OnGrayTarget(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.GrayTarget"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.OnBlackTarget(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.BlackTarget"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.OnFinishVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.FinishVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes the bfs starting at s
+ </summary>
+ <param name="s">starting vertex</param>
+ <exception cref="T:System.ArgumentNullException">s is null</exception>
+ <remarks>
+ This method initializes the color map before appliying the visit.
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.Visit(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes the bfs starting at s without initalization.
+ </summary>
+ <param name="s">starting vertex</param>
+ <param name="depth">current depth</param>
+ <exception cref="T:System.ArgumentNullException">s is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.RegisterVertexColorizerHandlers(QuickGraph.Concepts.Visitors.IVertexColorizerVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.RegisterDistanceRecorderHandlers(QuickGraph.Concepts.Visitors.IDistanceRecorderVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.RegisterTreeEdgeBuilderHandlers(QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.RegisterPredecessorRecorderHandlers(QuickGraph.Concepts.Visitors.IPredecessorRecorderVisitor)">
+ <summary>
+ Registers the predecessors handler
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.Colors">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.IVertex"/> to <see cref="T:QuickGraph.Concepts.GraphColor"/>dictionary
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.IVertex"/> to <see cref="T:QuickGraph.Concepts.GraphColor"/>dictionary
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.InitializeVertex">
+ <summary>
+ Invoked on every vertex before the start of the search
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.ExamineVertex">
+ <summary>
+ Invoked in each vertex as it is removed from the queue
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.DiscoverVertex">
+ <summary>
+ Invoked the first time the algorithm encounters vertex u.
+ All vertices closer to the source vertex have been discovered,
+ and vertices further from the source have not yet been discovered.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.ExamineEdge">
+ <summary>
+ Invoked on every out-edge of each vertex immediately after the vertex is removed from the queue.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.TreeEdge">
+ <summary>
+ Invoked (in addition to ExamineEdge()) if the edge is a tree edge.
+ The target vertex of edge e is discovered at this time.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.NonTreeEdge">
+ <summary>
+ Invoked (in addition to examine_edge()) if the edge is not a tree
+ edge.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.GrayTarget">
+ <summary>
+ Invoked (in addition to non_tree_edge()) if the target vertex is
+ colored gray at the time of examination. The color gray indicates
+ that the vertex is currently in the queue.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.BlackTarget">
+ <summary>
+ Invoked (in addition to NonTreeEdge()) if the target vertex is
+ colored black at the time of examination. The color black indicates
+ that the vertex is no longer in the queue.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm.FinishVertex">
+ <summary>
+ Invoked after all of the out edges of u have been examined
+ and all of the adjacent vertices have been discovered.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm">
+ <summary>
+ The DepthFirstSearchAlgorithm performs a depth-first traversal of the
+ vertices in a directed graph.
+ </summary>
+ <remarks>
+ <para>
+ When possible, a depth-first traversal chooses a vertex adjacent to
+ the current vertex to visit next. If all adjacent vertices have
+ already been discovered, or there are no adjacent vertices,
+ then the algorithm backtracks to the last vertex that had undiscovered
+ neighbors. Once all reachable vertices have been visited, the algorithm
+ selects from any remaining undiscovered vertices and continues the
+ traversal. The algorithm finishes when all vertices have been visited.
+ </para>
+ <para>
+ Depth-first search is useful for categorizing edges in a graph,
+ and for imposing an ordering on the vertices.
+ </para>
+ <para>
+ Similar to the <seealso cref="T:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm"/>, color
+ markers are used to keep track of which vertices have been discovered.
+ White marks vertices that have yet to be discovered,
+ gray marks a vertex that is discovered but still has vertices adjacent
+ to it that are undiscovered. A black vertex is discovered vertex that
+ is not adjacent to any white vertices.
+ </para>
+ <para>The main loop pseudo-code is as follows:
+ <code>
+ IVertexListGraph g;
+ DFS(IVertex s)
+ {
+ // initialize vertex colors
+ foreach(IVertex v in g.Vertices)
+ {
+ Colors[v] = White;
+ InitializeVertex(v); // event
+ }
+
+ // if there is a starting vertex, visit it
+ if (s != null)
+ {
+ StartVertex(s); // event
+ Visit(s);
+ }
+
+ // visit all vertices, if not previously visited
+ foreach(IVertex v in g.Vertices)
+ {
+ if (Colors[v] != White)
+ {
+ StartVertex(v); // event
+ Visit(v);
+ }
+ }
+ }
+ </code>
+ </para>
+ <para>The Visit method pseudo-code is as follows:
+ <code>
+ Visit(IVertexListGraph g, IVertex u)
+ {
+ Colors[u] = Gray;
+ OnDiscoverVertex(u); // event
+
+ // examine edges
+ foreach(IEdge e in g.OutEdges(u))
+ {
+ OnExamineEdge(e); // event
+ if (Colors[u] == White)
+ {
+ OnTreeEdge(e); // event
+ Visit(e.Target);
+ }
+ else if (Colors[u] == Gray)
+ {
+ OnBackEdge(e); // event
+ }
+ else
+ OnForwardOrCrossEdge(e); // event
+ }
+
+ Colors[u] = Black;
+ OnFinishVertex(u); // event
+ }
+ </code>
+ </para>
+ <para>In itself the algorithm does not take action, it is the user
+ job to attach handlers to the different events that take part during
+ the algorithm:
+ <list type="bullet">
+ <listheader>
+ <term>Event</term>
+ <description>When</description>
+ </listheader>
+ <item>
+ <term>InitializeVertex</term>
+ <description>Invoked on every vertex of the graph before the start of the graph
+ search.</description>
+ </item>
+ <item>
+ <term>StartVertex</term>
+ <description>Invoked on the source vertex once before the start of the search.</description>
+ </item>
+ <item>
+ <term>DiscoverVertex</term>
+ <description>Invoked when a vertex is encountered for the first time. </description>
+ </item>
+ <item>
+ <term>ExamineEdge</term>
+ <description>Invoked on every out-edge of each vertex after it is discovered.</description>
+ </item>
+ <item>
+ <term>TreeEdge</term>
+ <description>Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point. </description>
+ </item>
+ <item>
+ <term>BackEdge</term>
+ <description>Invoked on the back edges in the graph. </description>
+ </item>
+ <item>
+ <term>FowardOrCrossEdge</term>
+ <description>Invoked on forward or cross edges in the graph.
+ (In an undirected graph this method is never called.)</description>
+ </item>
+ <item>
+ <term>FinishVertex</term>
+ <description>Invoked on a vertex after all of its out edges have been added to
+ the search tree and all of the adjacent vertices have been
+ discovered (but before their out-edges have been examined).</description>
+ </item>
+ </list>
+ </para>
+ <para>
+ Predifined visitors, such as <seealso cref="T:QuickGraph.Concepts.Visitors.IPredecessorRecorderVisitor"/>
+ and <seealso cref="T:QuickGraph.Concepts.Visitors.ITimeStamperVisitor"/>
+ can be used with this algorithm.
+ </para>
+ <para>This algorithm is directly inspired from the
+ BoostGraphLibrary implementation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ A depth first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <exception cref="T:System.ArgumentNullException">g is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.VertexColorDictionary)">
+ <summary>
+ A depth first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <param name="colors">vertex color map</param>
+ <exception cref="T:System.ArgumentNullException">g or colors are null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.OnInitializeVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.InitializeVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.OnStartVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.StartVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.OnDiscoverVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.DiscoverVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.OnExamineEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.ExamineEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.TreeEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.OnBackEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.BackEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.OnForwardOrCrossEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.ForwardOrCrossEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.OnFinishVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.FinishVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.Compute">
+ <summary>
+ Execute the DFS search.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Execute the DFS starting with the vertex s
+ </summary>
+ <param name="s">Starting vertex</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.Initialize">
+ <summary>
+ Initializes the vertex color map
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.Visit(QuickGraph.Concepts.IVertex,System.Int32)">
+ <summary>
+ Does a depth first search on the vertex u
+ </summary>
+ <param name="u">vertex to explore</param>
+ <param name="depth">current recursion depth</param>
+ <exception cref="T:System.ArgumentNullException">u cannot be null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.RegisterPredecessorRecorderHandlers(QuickGraph.Concepts.Visitors.IPredecessorRecorderVisitor)">
+ <summary>
+ Registers the predecessors handler
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.RegisterTimeStamperHandlers(QuickGraph.Concepts.Visitors.ITimeStamperVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.RegisterVertexColorizerHandlers(QuickGraph.Concepts.Visitors.IVertexColorizerVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.RegisterTreeEdgeBuilderHandlers(QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.Colors">
+ <summary>
+ Gets the vertex color map
+ </summary>
+ <value>
+ Vertex color (<see cref="T:QuickGraph.Concepts.GraphColor"/>) dictionary
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.QuickGraph#Concepts#Algorithms#IVertexColorizerAlgorithm#Colors">
+ <summary>
+ IVertexColorizerAlgorithm implementation
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.MaxDepth">
+ <summary>
+ Gets or sets the maximum exploration depth, from
+ the start vertex.
+ </summary>
+ <remarks>
+ Defaulted at <c>int.MaxValue</c>.
+ </remarks>
+ <value>
+ Maximum exploration depth.
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.InitializeVertex">
+ <summary>
+ Invoked on every vertex of the graph before the start of the graph
+ search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.StartVertex">
+ <summary>
+ Invoked on the source vertex once before the start of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.DiscoverVertex">
+ <summary>
+ Invoked when a vertex is encountered for the first time.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.ExamineEdge">
+ <summary>
+ Invoked on every out-edge of each vertex after it is discovered.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.TreeEdge">
+ <summary>
+ Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.BackEdge">
+ <summary>
+ Invoked on the back edges in the graph.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.ForwardOrCrossEdge">
+ <summary>
+ Invoked on forward or cross edges in the graph.
+ (In an undirected graph this method is never called.)
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm.FinishVertex">
+ <summary>
+ Invoked on a vertex after all of its out edges have been added to
+ the search tree and all of the adjacent vertices have been
+ discovered (but before their out-edges have been examined).
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm">
+ <summary>
+ The EdgeDepthFirstSearchAlgorithm performs a depth-first traversal of the
+ edges in a directed graph.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IEdgeListAndIncidenceGraph)">
+ <summary>
+ A depth first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <exception cref="T:System.ArgumentNullException">g is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IEdgeListAndIncidenceGraph,QuickGraph.Collections.EdgeColorDictionary)">
+ <summary>
+ A depth first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <param name="colors">vertex color map</param>
+ <exception cref="T:System.ArgumentNullException">g or colors are null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.OnInitializeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the ForwardOrCrossEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.OnStartVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Triggers the StartVertex event.
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.OnStartEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the StartEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.OnDiscoverTreeEdge(QuickGraph.Concepts.IEdge,QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers DiscoverEdge event
+ </summary>
+ <param name="se"></param>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the TreeEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.OnBackEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the BackEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.OnForwardOrCrossEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the ForwardOrCrossEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.OnFinishEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the ForwardOrCrossEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.Compute">
+ <summary>
+ Compute the algorithm starting at the first vertex.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Execute the EDFS starting with the vertex s
+ </summary>
+ <param name="v">Starting vertex</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.Initialize">
+ <summary>
+ Initiliaze color map
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.Visit(QuickGraph.Concepts.IEdge,System.Int32)">
+ <summary>
+ Does a depth first search on the vertex u
+ </summary>
+ <param name="se">edge to explore</param>
+ <param name="depth">current exploration depth</param>
+ <exception cref="T:System.ArgumentNullException">se cannot be null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.RegisterTreeEdgeBuilderHandlers(QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor)">
+ <summary>
+ Registers the handlers of a <see cref="T:QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor"/>
+ visitor.
+ </summary>
+ <param name="vis">visitor to "attach"</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.RegisterEdgeColorizerHandlers(QuickGraph.Concepts.Visitors.IEdgeColorizerVisitor)">
+ <summary>
+ Registers the handlers of a <see cref="T:QuickGraph.Concepts.Visitors.IEdgeColorizerVisitor"/>
+ visitor.
+ </summary>
+ <param name="vis">visitor to "attach"</param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.VisitedGraph">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.Traversals.IEdgeListAndIncidenceGraph"/> visited graph
+ </summary>
+ <value>
+ The <see cref="T:QuickGraph.Concepts.Traversals.IEdgeListAndIncidenceGraph"/> visited graph
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.EdgeColors">
+ <summary>
+ Gets the edge <see cref="T:QuickGraph.Concepts.GraphColor"/> dictionary
+ </summary>
+ <value>
+ Edge <see cref="T:QuickGraph.Concepts.GraphColor"/> dictionary
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.MaxDepth">
+ <summary>
+ Gets or sets the maximum exploration depth, from
+ the start edge.
+ </summary>
+ <remarks>
+ Defaulted at <c>int.MaxValue</c>.
+ </remarks>
+ <value>
+ Maximum exploration depth.
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.InitializeEdge">
+ <summary>
+ Invoked on every vertex of the graph before the start of the graph
+ search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.StartVertex">
+ <summary>
+ Invoked on the source vertex once before the start of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.StartEdge">
+ <summary>
+ Invoked on the first edge of a test case
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.DiscoverTreeEdge">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.TreeEdge">
+ <summary>
+ Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.BackEdge">
+ <summary>
+ Invoked on the back edges in the graph.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.ForwardOrCrossEdge">
+ <summary>
+ Invoked on forward or cross edges in the graph.
+ (In an undirected graph this method is never called.)
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeDepthFirstSearchAlgorithm.FinishEdge">
+ <summary>
+ Invoked on a edge after all of its out edges have been added to
+ the search tree and all of the adjacent vertices have been
+ discovered (but before their out-edges have been examined).
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm">
+ <summary>
+ The EdgeDepthFirstSearchAlgorithm performs a depth-first traversal of the
+ edges in a directed graph.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph)">
+ <summary>
+ A depth first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <exception cref="T:System.ArgumentNullException">g is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph,QuickGraph.Collections.EdgeColorDictionary)">
+ <summary>
+ A depth first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <param name="colors">vertex color map</param>
+ <exception cref="T:System.ArgumentNullException">g or colors are null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.OnInitializeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the ForwardOrCrossEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.OnStartVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Triggers the StartVertex event.
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.OnStartEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the StartEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.OnDiscoverTreeEdge(QuickGraph.Concepts.IEdge,QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers DiscoverEdge event
+ </summary>
+ <param name="se"></param>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the TreeEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.OnBackEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the BackEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.OnForwardOrCrossEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the ForwardOrCrossEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.OnFinishEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the ForwardOrCrossEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.Compute">
+ <summary>
+ Compute the algorithm starting at the first vertex.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Execute the EDFS starting with the vertex s
+ </summary>
+ <param name="v">Starting vertex</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.Initialize">
+ <summary>
+ Initiliaze color map
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.Visit(QuickGraph.Concepts.IEdge,System.Int32)">
+ <summary>
+ Does a depth first search on the vertex u
+ </summary>
+ <param name="se">edge to explore</param>
+ <param name="depth">current exploration depth</param>
+ <exception cref="T:System.ArgumentNullException">se cannot be null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.RegisterTreeEdgeBuilderHandlers(QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor)">
+ <summary>
+ Registers the handlers of a <see cref="T:QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor"/>
+ visitor.
+ </summary>
+ <param name="vis">visitor to "attach"</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.RegisterEdgeColorizerHandlers(QuickGraph.Concepts.Visitors.IEdgeColorizerVisitor)">
+ <summary>
+ Registers the handlers of a <see cref="T:QuickGraph.Concepts.Visitors.IEdgeColorizerVisitor"/>
+ visitor.
+ </summary>
+ <param name="vis">visitor to "attach"</param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.VisitedGraph">
+ <summary>
+ Gets the <see cref="T:QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph"/> visited graph
+ </summary>
+ <value>
+ The <see cref="T:QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph"/> visited graph
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.EdgeColors">
+ <summary>
+ Gets the edge <see cref="T:QuickGraph.Concepts.GraphColor"/> dictionary
+ </summary>
+ <value>
+ Edge <see cref="T:QuickGraph.Concepts.GraphColor"/> dictionary
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.MaxDepth">
+ <summary>
+ Gets or sets the maximum exploration depth, from
+ the start edge.
+ </summary>
+ <remarks>
+ Defaulted at <c>int.MaxValue</c>.
+ </remarks>
+ <value>
+ Maximum exploration depth.
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.InitializeEdge">
+ <summary>
+ Invoked on every vertex of the graph before the start of the graph
+ search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.StartVertex">
+ <summary>
+ Invoked on the source vertex once before the start of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.StartEdge">
+ <summary>
+ Invoked on the first edge of a test case
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.DiscoverTreeEdge">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.TreeEdge">
+ <summary>
+ Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.BackEdge">
+ <summary>
+ Invoked on the back edges in the graph.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.ForwardOrCrossEdge">
+ <summary>
+ Invoked on forward or cross edges in the graph.
+ (In an undirected graph this method is never called.)
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.EdgeHeightFirstSearchAlgorithm.FinishEdge">
+ <summary>
+ Invoked on a edge after all of its out edges have been added to
+ the search tree and all of the adjacent vertices have been
+ discovered (but before their out-edges have been examined).
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm">
+ <summary>
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalVertexListGraph)">
+ <summary>
+ A height first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <exception cref="T:System.ArgumentNullException">g is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalVertexListGraph,QuickGraph.Collections.VertexColorDictionary)">
+ <summary>
+ A height first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <param name="colors">vertex color map</param>
+ <exception cref="T:System.ArgumentNullException">g or colors are null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.OnInitializeVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.InitializeVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.OnStartVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.StartVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.OnDiscoverVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.DiscoverVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.OnExamineEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.ExamineEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.TreeEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.OnBackEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.BackEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.OnForwardOrCrossEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.ForwardOrCrossEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.OnFinishVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.FinishVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.Compute">
+ <summary>
+ Execute the DFS search.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Execute the DFS starting with the vertex s
+ </summary>
+ <param name="s">Starting vertex</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.Initialize">
+ <summary>
+ Initializes the vertex color map
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.Visit(QuickGraph.Concepts.IVertex,System.Int32)">
+ <summary>
+ Does a depth first search on the vertex u
+ </summary>
+ <param name="u">vertex to explore</param>
+ <param name="depth">current recursion depth</param>
+ <exception cref="T:System.ArgumentNullException">u cannot be null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.RegisterPredecessorRecorderHandlers(QuickGraph.Concepts.Visitors.IPredecessorRecorderVisitor)">
+ <summary>
+ Registers the predecessors handler
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.RegisterTimeStamperHandlers(QuickGraph.Concepts.Visitors.ITimeStamperVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.RegisterVertexColorizerHandlers(QuickGraph.Concepts.Visitors.IVertexColorizerVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.RegisterTreeEdgeBuilderHandlers(QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.Colors">
+ <summary>
+ Gets the vertex color map
+ </summary>
+ <value>
+ Vertex color (<see cref="T:QuickGraph.Concepts.GraphColor"/>) dictionary
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.QuickGraph#Concepts#Algorithms#IVertexColorizerAlgorithm#Colors">
+ <summary>
+ IVertexColorizerAlgorithm implementation
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.MaxDepth">
+ <summary>
+ Gets or sets the maximum exploration depth, from
+ the start vertex.
+ </summary>
+ <remarks>
+ Defaulted at <c>int.MaxValue</c>.
+ </remarks>
+ <value>
+ Maximum exploration depth.
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.InitializeVertex">
+ <summary>
+ Invoked on every vertex of the graph before the start of the graph
+ search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.StartVertex">
+ <summary>
+ Invoked on the source vertex once before the start of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.DiscoverVertex">
+ <summary>
+ Invoked when a vertex is encountered for the first time.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.ExamineEdge">
+ <summary>
+ Invoked on every out-edge of each vertex after it is discovered.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.TreeEdge">
+ <summary>
+ Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.BackEdge">
+ <summary>
+ Invoked on the back edges in the graph.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.ForwardOrCrossEdge">
+ <summary>
+ Invoked on forward or cross edges in the graph.
+ (In an undirected graph this method is never called.)
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.HeightFirstSearchAlgorithm.FinishVertex">
+ <summary>
+ Invoked on a vertex after all of its out edges have been added to
+ the search tree and all of the adjacent vertices have been
+ discovered (but before their out-edges have been examined).
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.OnStartVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.StartVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.OnDiscoverVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.DiscoverVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.OnExamineEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.ExamineEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.TreeEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.OnBackEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.BackEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.OnForwardOrCrossEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.ForwardOrCrossEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.OnFinishVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.FinishVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Does an implicit depth first search on the graph
+ </summary>
+ <param name="startVertex">
+ Start vertex of the depth first search
+ </param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.Initialize">
+ <summary>
+ Initializes the algorithm before computation.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.Visit(QuickGraph.Concepts.IVertex,System.Int32)">
+ <summary>
+ Visit vertex <paramref name="u"/>.
+ </summary>
+ <param name="u"></param>
+ <param name="depth"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.RegisterPredecessorRecorderHandlers(QuickGraph.Concepts.Visitors.IPredecessorRecorderVisitor)">
+ <summary>
+ Registers the predecessors handler
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.RegisterTimeStamperHandlers(QuickGraph.Concepts.Visitors.ITimeStamperVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.RegisterTreeEdgeBuilderHandlers(QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.VisitedGraph">
+ <summary>
+ Gets the Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.Colors">
+ <summary>
+ Gets the vertex color map
+ </summary>
+ <value>
+ Vertex color (<see cref="T:QuickGraph.Concepts.GraphColor"/>) dictionary
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.MaxDepth">
+ <summary>
+ Gets or sets the maximum exploration depth, from
+ the start vertex.
+ </summary>
+ <remarks>
+ Defaulted at <c>int.MaxValue</c>.
+ </remarks>
+ <value>
+ Maximum exploration depth.
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.StartVertex">
+ <summary>
+ Invoked on the source vertex once before the start of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.DiscoverVertex">
+ <summary>
+ Invoked when a vertex is encountered for the first time.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.ExamineEdge">
+ <summary>
+ Invoked on every out-edge of each vertex after it is discovered.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.TreeEdge">
+ <summary>
+ Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.BackEdge">
+ <summary>
+ Invoked on the back edges in the graph.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.ForwardOrCrossEdge">
+ <summary>
+ Invoked on forward or cross edges in the graph.
+ (In an undirected graph this method is never called.)
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitDepthFirstSearchAlgorithm.FinishVertex">
+ <summary>
+ Invoked on a vertex after all of its out edges have been added to
+ the search tree and all of the adjacent vertices have been
+ discovered (but before their out-edges have been examined).
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.OnStartVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Triggers the StartVertex event.
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.OnStartEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the StartEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.OnDiscoverTreeEdge(QuickGraph.Concepts.IEdge,QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers DiscoverEdge event
+ </summary>
+ <param name="se"></param>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the TreeEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.OnBackEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the BackEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.OnForwardOrCrossEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the ForwardOrCrossEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.OnFinishEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the ForwardOrCrossEdge event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Does an implicit depth first search on the graph
+ </summary>
+ <param name="startVertex">
+ Start vertex of the depth first search
+ </param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.Visit(QuickGraph.Concepts.IEdge,System.Int32)">
+ <summary>
+ Does a depth first search on the vertex u
+ </summary>
+ <param name="se">edge to explore</param>
+ <param name="depth">current exploration depth</param>
+ <exception cref="T:System.ArgumentNullException">se cannot be null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.Initialize">
+ <summary>
+ Initializes the algorithm before computation.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.RegisterTreeEdgeBuilderHandlers(QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor)">
+ <summary>
+ Registers the handlers of a <see cref="T:QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor"/>
+ visitor.
+ </summary>
+ <param name="vis">visitor to "attach"</param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.VisitedGraph">
+ <summary>
+ Gets the Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.EdgeColors">
+ <summary>
+ Gets the vertex color map
+ </summary>
+ <value>
+ Vertex color (<see cref="T:QuickGraph.Concepts.GraphColor"/>) dictionary
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.MaxDepth">
+ <summary>
+ Gets or sets the maximum exploration depth, from
+ the start vertex.
+ </summary>
+ <remarks>
+ Defaulted at <c>int.MaxValue</c>.
+ </remarks>
+ <value>
+ Maximum exploration depth.
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.StartVertex">
+ <summary>
+ Invoked on the source vertex once before the start of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.StartEdge">
+ <summary>
+ Invoked on the first edge of a test case
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.DiscoverTreeEdge">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.TreeEdge">
+ <summary>
+ Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.BackEdge">
+ <summary>
+ Invoked on the back edges in the graph.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.ForwardOrCrossEdge">
+ <summary>
+ Invoked on forward or cross edges in the graph.
+ (In an undirected graph this method is never called.)
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.ImplicitEdgeDepthFirstSearchAlgorithm.FinishEdge">
+ <summary>
+ Invoked on a edge after all of its out edges have been added to
+ the search tree and all of the adjacent vertices have been
+ discovered (but before their out-edges have been examined).
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Search.NamespaceDoc">
+ <summary>
+ The <b>QuickGraph.Algorithms.Search</b> namespace contains basic
+ algorithms, such as the <see cref="T:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm"/>
+ that are the building blocks other more complex algorithms.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Search.NeighborBreadthFirstSearch">
+ <summary>
+ Summary description for NeighborBreadthFirstSearch.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm">
+ <summary>
+ The DepthFirstSearchAlgorithm performs a depth-first traversal of the
+ vertices in a directed graph.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalVertexListGraph)">
+ <summary>
+ A depth first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <exception cref="T:System.ArgumentNullException">g is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalVertexListGraph,QuickGraph.Collections.VertexColorDictionary)">
+ <summary>
+ A depth first search algorithm on a directed graph
+ </summary>
+ <param name="g">The graph to traverse</param>
+ <param name="colors">vertex color map</param>
+ <exception cref="T:System.ArgumentNullException">g or colors are null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnInitializeVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.InitializeVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnStartVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.StartVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnDiscoverVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.DiscoverVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnExamineOutEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.ExamineOutEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnExamineInEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.ExamineInEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnTreeOutEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.TreeOutEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnTreeInEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.TreeInEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnBackOutEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.BackOutEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnBackInEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.BackInEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnForwardOrCrossOutEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.ForwardOrCrossOutEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnForwardOrCrossInEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.ForwardOrCrossInEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.OnFinishVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.FinishVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.Compute">
+ <summary>
+ Execute the DFS search.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Execute the DFS starting with the vertex s
+ </summary>
+ <param name="s">Starting vertex</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.Initialize">
+ <summary>
+ Initializes the vertex color map
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.Visit(QuickGraph.Concepts.IVertex,System.Int32)">
+ <summary>
+ Does a depth first search on the vertex u
+ </summary>
+ <param name="u">vertex to explore</param>
+ <param name="depth">current recursion depth</param>
+ <exception cref="T:System.ArgumentNullException">u cannot be null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.RegisterPredecessorRecorderHandlers(QuickGraph.Concepts.Visitors.IPredecessorRecorderVisitor)">
+ <summary>
+ Registers the predecessors handler
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.RegisterTimeStamperHandlers(QuickGraph.Concepts.Visitors.ITimeStamperVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.RegisterVertexColorizerHandlers(QuickGraph.Concepts.Visitors.IVertexColorizerVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.RegisterTreeEdgeBuilderHandlers(QuickGraph.Concepts.Visitors.ITreeEdgeBuilderVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.Colors">
+ <summary>
+ Gets the vertex color map
+ </summary>
+ <value>
+ Vertex color (<see cref="T:QuickGraph.Concepts.GraphColor"/>) dictionary
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.QuickGraph#Concepts#Algorithms#IVertexColorizerAlgorithm#Colors">
+ <summary>
+ IVertexColorizerAlgorithm implementation
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.MaxDepth">
+ <summary>
+ Gets or sets the maximum exploration depth, from
+ the start vertex.
+ </summary>
+ <remarks>
+ Defaulted at <c>int.MaxValue</c>.
+ </remarks>
+ <value>
+ Maximum exploration depth.
+ </value>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.InitializeVertex">
+ <summary>
+ Invoked on every vertex of the graph before the start of the graph
+ search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.StartVertex">
+ <summary>
+ Invoked on the source vertex once before the start of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.DiscoverVertex">
+ <summary>
+ Invoked when a vertex is encountered for the first time.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.ExamineOutEdge">
+ <summary>
+ Invoked on every out-edge of each vertex after it is discovered.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.ExamineInEdge">
+ <summary>
+ Invoked on every out-edge of each vertex after it is discovered.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.TreeOutEdge">
+ <summary>
+ Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.TreeInEdge">
+ <summary>
+ Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.BackOutEdge">
+ <summary>
+ Invoked on the back edges in the graph.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.BackInEdge">
+ <summary>
+ Invoked on the back edges in the graph.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.ForwardOrCrossOutEdge">
+ <summary>
+ Invoked on forward or cross edges in the graph.
+ (In an undirected graph this method is never called.)
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.ForwardOrCrossInEdge">
+ <summary>
+ Invoked on forward or cross edges in the graph.
+ (In an undirected graph this method is never called.)
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.NeighborDepthFirstSearchAlgorithm.FinishVertex">
+ <summary>
+ Invoked on a vertex after all of its out edges have been added to
+ the search tree and all of the adjacent vertices have been
+ discovered (but before their out-edges have been examined).
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm">
+ <summary>
+ Performs a undirected (depth first and height first) depth first
+ search on a directed bidirectional graph.
+ </summary>
+ <remarks>
+ <para>This algorithm is directly inspired from the
+ BoostGraphLibrary implementation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph)">
+ <summary>
+ Create a undirected dfs algorithm
+ </summary>
+ <param name="g">Graph to search on.</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.OnInitializeVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.InitializeVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.OnStartVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.StartVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.OnDiscoverVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.DiscoverVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.OnExamineEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.ExamineEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.TreeEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.OnBackEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.BackEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.OnFinishVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.FinishVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.Compute">
+ <summary>
+ Computes the dfs
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes the dfs starting at s
+ </summary>
+ <param name="s">start vertex</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.Visit(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Visits vertex s
+ </summary>
+ <param name="u">vertex to visit</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.RegisterPredecessorRecorderHandlers(QuickGraph.Concepts.Visitors.IPredecessorRecorderVisitor)">
+ <summary>
+ Registers the predecessors handler
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.RegisterTimeStamperHandlers(QuickGraph.Concepts.Visitors.ITimeStamperVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.RegisterVertexColorizerHandlers(QuickGraph.Concepts.Visitors.IVertexColorizerVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.Colors">
+ <summary>
+ Vertex color map
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.EdgeColors">
+ <summary>
+ Edge color map
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.InitializeVertex">
+ <summary>
+ Invoked on every vertex of the graph before the start of the graph
+ search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.StartVertex">
+ <summary>
+ Invoked on the source vertex once before the start of the search.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.DiscoverVertex">
+ <summary>
+ Invoked when a vertex is encountered for the first time.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.ExamineEdge">
+ <summary>
+ Invoked on every out-edge of each vertex after it is discovered.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.TreeEdge">
+ <summary>
+ Invoked on each edge as it becomes a member of the edges that form
+ the search tree. If you wish to record predecessors, do so at this
+ event point.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.BackEdge">
+ <summary>
+ Invoked on the back edges in the graph.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm.FinishVertex">
+ <summary>
+ Invoked on a vertex after all of its out edges have been added to
+ the search tree and all of the adjacent vertices have been
+ discovered (but before their out-edges have been examined).
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm">
+ <summary>
+ Bellman Ford shortest path algorithm.
+ </summary>
+ <remarks>
+ <para>
+ The Bellman-Ford algorithm solves the single-source shortest paths
+ problem for a graph with both positive and negative edge weights.
+ </para>
+ <para>
+ If you only need to solve the shortest paths problem for positive
+ edge weights, Dijkstra's algorithm provides a more efficient
+ alternative.
+ </para>
+ <para>
+ If all the edge weights are all equal to one then breadth-first search
+ provides an even more efficient alternative.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph,QuickGraph.Collections.EdgeDoubleDictionary)">
+ <summary>
+ Builds a new Bellman Ford searcher.
+ </summary>
+ <param name="g">The graph</param>
+ <param name="weights">Edge weights</param>
+ <exception cref="T:System.ArgumentNullException">Any argument is null</exception>
+ <remarks>This algorithm uses the <seealso cref="T:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm"/>.</remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.OnInitializeVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.InitializeVertex"/> event.
+ </summary>
+ <param name="v">vertex that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.OnExamineEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.ExamineEdge"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.OnEdgeRelaxed(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.EdgeRelaxed"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.OnEdgeNotRelaxed(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.EdgeNotRelaxed"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.OnEdgeMinimized(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.EdgeMinimized"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.OnEdgeNotMinimized(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.EdgeNotMinimized"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes all the shortest path from s to the oter vertices
+ </summary>
+ <param name="s">Start vertex</param>
+ <remarks>
+ Initializes the predecessor and distance map.
+ </remarks>
+ <returns>true if successful, false if there was a negative cycle.</returns>
+ <exception cref="T:System.ArgumentNullException">s is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.Compute">
+ <summary>
+ Applies the Bellman Ford algorithm
+ </summary>
+ <remarks>
+ Does not initialize the predecessor and distance map.
+ </remarks>
+ <returns>true if successful, false if there was a negative cycle.</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.Compare(System.Double,System.Double)">
+ <summary>
+
+ </summary>
+ <param name="a"></param>
+ <param name="b"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.Combine(System.Double,System.Double)">
+ <summary>
+
+ </summary>
+ <param name="d"></param>
+ <param name="w"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.Relax(QuickGraph.Concepts.IEdge)">
+ <summary>
+
+ </summary>
+ <param name="e"></param>
+ <returns></returns>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.VisitedGraph">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.Colors">
+ <summary>
+ Vertex color map
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.InitializeVertex">
+ <summary>
+ Invoked on each vertex in the graph before the start of the
+ algorithm.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.ExamineEdge">
+ <summary>
+ Invoked on every edge in the graph |V| times.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.EdgeRelaxed">
+ <summary>
+ Invoked when the distance label for the target vertex is decreased.
+ The edge that participated in the last relaxation for vertex v is
+ an edge in the shortest paths tree.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.EdgeNotRelaxed">
+ <summary>
+ Invoked if the distance label for the target vertex is not
+ decreased.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.EdgeMinimized">
+ <summary>
+ Invoked during the second stage of the algorithm,
+ during the test of whether each edge was minimized.
+
+ If the edge is minimized then this function is invoked.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.EdgeNotMinimized">
+ <summary>
+ Invoked during the second stage of the algorithm,
+ during the test of whether each edge was minimized.
+
+ If the edge was not minimized, this function is invoked.
+ This happens when there is a negative cycle in the graph.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.Distances">
+ <summary>
+ Constructed distance map
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.Predecessors">
+ <summary>
+ Constructed predecessor map
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm.Weights">
+ <summary>
+ Edge weights
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm">
+ <summary>
+ Directed Acyclic Graph single source shortest path algorithm.
+ </summary>
+ <remarks>
+ <para>
+ This algorithm solves the single-source shortest-paths problem on a
+ weighted, directed acyclic graph (DAG).
+ </para>
+ <para>
+ This algorithm is more efficient for DAG's than either the
+ <see cref="T:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm"/> or
+ <see cref="T:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm"/>..
+ Use <see cref="T:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm"/> instead of this algorithm
+ when all edge weights are equal to one.
+ </para>
+ <para>
+ It is strongly inspired from the
+ Boost Graph Library implementation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.EdgeDoubleDictionary)">
+ <summary>
+ Builds a new Dagsearcher.
+ </summary>
+ <param name="g">Acyclic graph</param>
+ <param name="weights">Edge weights</param>
+ <exception cref="T:System.ArgumentNullException">Any argument is null</exception>
+ <remarks>This algorithm uses the <seealso cref="T:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm"/>.</remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.OnInitializeVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Triggers the InitializeVertex event
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.OnDiscoverVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Triggers the DiscoverVertex event
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.OnExamineVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Triggers the ExamineVertex event
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.OnExamineEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the ExamineEdge event
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.OnEdgeRelaxed(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the EdgeRelaxed event
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.OnEdgeNotRelaxed(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Triggers the EdgeNotRelaxed event
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.OnFinishVertex(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Triggers the FinishVertex event
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes all the shortest path from s to the oter vertices
+ </summary>
+ <param name="s">Start vertex</param>
+ <exception cref="T:System.ArgumentNullException">s is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.RegisterVertexColorizerHandlers(QuickGraph.Concepts.Visitors.IVertexColorizerVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.Colors">
+ <summary>
+ Vertex color map
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.InitializeVertex">
+ <summary>
+ Invoked on each vertex in the graph before the start of the
+ algorithm.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.DiscoverVertex">
+ <summary>
+ Invoked on vertex v when the edge (u,v) is examined and v is White.
+ Since a vertex is colored Gray when it is discovered, each
+ reachable vertex is discovered exactly once. This is also when the
+ vertex is inserted into the priority queue.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.ExamineVertex">
+ <summary>
+ Invoked on a vertex as it is added to set S.
+ </summary>
+ <remarks>
+ <para>
+ At this point we know that <c>(p[u],u)</c> is a shortest-paths tree
+ edge so <c>d[u] = delta(s,u) = d[p[u]] + w(p[u],u)</c>.
+ </para>
+ <para>
+ Also, the distances of the examined vertices is monotonically increasing
+ <c>d[u1] <= d[u2] <= d[un]</c>.
+ </para>
+ </remarks>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.ExamineEdge">
+ <summary>
+ Invoked on each out-edge of a vertex immediately after it has
+ been added to set S.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.EdgeRelaxed">
+ <summary>
+ invoked on edge (u,v) if d[u] + w(u,v) < d[v]. The edge (u,v)
+ that participated in the last relaxation for vertex v is an edge
+ in the shortest paths tree.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.EdgeNotRelaxed">
+ <summary>
+ Invoked if the edge is not relaxed. <seealso cref="E:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.EdgeRelaxed"/>.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.FinishVertex">
+ <summary>
+ Invoked on a vertex after all of its out edges have been examined.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.Distances">
+ <summary>
+ Constructed distance map
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.DagShortestPathAlgorithm.Predecessors">
+ <summary>
+ Constructed predecessor map
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm">
+ <summary>
+ Dijkstra shortest path algorithm.
+ </summary>
+ <remarks>
+ This algorithm solves the single-source shortest-paths problem
+ on a weighted, directed for the case where all
+ edge weights are nonnegative. It is strongly inspired from the
+ Boost Graph Library implementation.
+
+ Use the Bellman-Ford algorithm for the case when some edge weights are
+ negative.
+ Use breadth-first search instead of Dijkstra's algorithm when all edge
+ weights are equal to one.
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.EdgeDoubleDictionary)">
+ <summary>
+ Builds a new Dijsktra searcher.
+ </summary>
+ <param name="g">The graph</param>
+ <param name="weights">Edge weights</param>
+ <exception cref="T:System.ArgumentNullException">Any argument is null</exception>
+ <remarks>This algorithm uses the <seealso cref="T:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm"/>.</remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.UnaryWeightsFromEdgeList(QuickGraph.Concepts.Traversals.IEdgeListGraph)">
+ <summary>
+ Create a edge unary weight dictionary.
+ </summary>
+ <param name="graph">graph to map</param>
+ <returns>Dictionary where each edge wheight is 1</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.UnaryWeightsFromVertexList(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Create a edge unary weight dictionary.
+ </summary>
+ <param name="graph">graph to map</param>
+ <returns>Dictionary where each edge wheight is 1</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.OnEdgeRelaxed(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.EdgeRelaxed"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.OnEdgeNotRelaxed(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.EdgeNotRelaxed"/> event.
+ </summary>
+ <param name="e">edge that raised the event</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.TreeEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Checks for edge relation.
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.GrayTarget(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Checks for edge relation.
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.Compute(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes all the shortest path from s to the oter vertices
+ </summary>
+ <param name="s">Start vertex</param>
+ <exception cref="T:System.ArgumentNullException">s is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.RegisterVertexColorizerHandlers(QuickGraph.Concepts.Visitors.IVertexColorizerVisitor)">
+ <summary>
+
+ </summary>
+ <param name="vis"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.RegisterPredecessorRecorderHandlers(QuickGraph.Concepts.Visitors.IPredecessorRecorderVisitor)">
+ <summary>
+ Register the predecessor handlers
+ </summary>
+ <param name="vis">visitor</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.RegisterDistanceRecorderHandlers(QuickGraph.Concepts.Visitors.IDistanceRecorderVisitor)">
+ <summary>
+ Add event handlers to the corresponding events.
+ </summary>
+ <param name="vis">Distance recorder visitor</param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.Colors">
+ <summary>
+ Vertex color map
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.InitializeVertex">
+ <summary>
+ Invoked on each vertex in the graph before the start of the
+ algorithm.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.DiscoverVertex">
+ <summary>
+ Invoked on vertex v when the edge (u,v) is examined and v is WHITE.
+ Since a vertex is colored GRAY when it is discovered, each
+ reachable vertex is discovered exactly once. This is also when the
+ vertex is inserted into the priority queue.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.ExamineVertex">
+ <summary>
+ Invoked on a vertex as it is removed from the priority queue and
+ added to set S. At this point we know that (p[u],u) is a
+ shortest-paths tree edge so
+ d[u] = delta(s,u) = d[p[u]] + w(p[u],u).
+ Also, the distances of the examined vertices is monotonically
+ increasing d[u1] <= d[u2] <= d[un].
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.ExamineEdge">
+ <summary>
+ Invoked on each out-edge of a vertex immediately after it has
+ been added to set S.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.EdgeRelaxed">
+ <summary>
+ invoked on edge (u,v) if d[u] + w(u,v) < d[v]. The edge (u,v)
+ that participated in the last relaxation for vertex v is an edge
+ in the shortest paths tree.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.EdgeNotRelaxed">
+ <summary>
+ Invoked if the edge is not relaxed. <seealso cref="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.EdgeRelaxed"/>.
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.FinishVertex">
+ <summary>
+ Invoked on a vertex after all of its out edges have been examined.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.Distances">
+ <summary>
+ Constructed distance map
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm.VertexQueue">
+ <summary>
+ Vertex priorithized queue. Used internally.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.ShortestPath.NamespaceDoc">
+ <summary>
+ <para>
+ The <b>QuickGraph.Algorithms.ShortestPath</b> namespace contains
+ algorithms for solving shortest path problems.
+ </para>
+ <para>
+ Graph with positive edge weight should use the
+ <see cref="T:QuickGraph.Algorithms.ShortestPath.DijkstraShortestPathAlgorithm"/>.
+ </para>
+ <para>If all the wieghts are
+ equal to 1, the <see cref="T:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm"/>
+ is more efficient to use.
+ </para>
+ <para>
+ If the weights can be negavite,
+ use the <see cref="T:QuickGraph.Algorithms.ShortestPath.BellmanFordShortestPathAlgorithm"/>.
+ </para>
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.StrongComponentsAlgorithm">
+ <summary>
+ Computes the graph strong components.
+ </summary>
+ <remarks>
+ This class compute the strongly connected
+ components of a directed graph using Tarjan's algorithm based on DFS.
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.StrongComponentsAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Construct a strong component algorithm
+ </summary>
+ <param name="g">graph to apply algorithm on</param>
+ <exception cref="T:System.ArgumentNullException">graph is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.StrongComponentsAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,QuickGraph.Collections.VertexIntDictionary)">
+ <summary>
+ Construct a strong component algorithm
+ </summary>
+ <param name="g">graph to apply algorithm on</param>
+ <param name="components">component map to record results</param>
+ <exception cref="T:System.ArgumentNullException">graph is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.StrongComponentsAlgorithm.DiscoverVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Used internally
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.StrongComponentsAlgorithm.FinishVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Used internally
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.StrongComponentsAlgorithm.Compute">
+ <summary>
+ Executes the algorithm
+ </summary>
+ <remarks>
+ The output of the algorithm is recorded in the component property
+ Components, which will contain numbers giving the component ID
+ assigned to each vertex.
+ </remarks>
+ <returns>The number of components is the return value of the function.</returns>
+ </member>
+ <member name="P:QuickGraph.Algorithms.StrongComponentsAlgorithm.VisitedGraph">
+ <summary>
+ Visited graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.StrongComponentsAlgorithm.Components">
+ <summary>
+ Component map
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.StrongComponentsAlgorithm.Roots">
+ <summary>
+ Root map
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.StrongComponentsAlgorithm.DiscoverTimes">
+ <summary>
+ Vertex discory times
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.StrongComponentsAlgorithm.Count">
+ <summary>
+ Gets the number of strongly connected components in the graph
+ </summary>
+ <value>
+ Number of strongly connected components
+ </value>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.BoundedReachabilityGame">
+ <summary>
+ Summary description for BoundedReachabilityGame.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.IBoundedReachabilityGamePlayer">
+ <summary>
+ Summary description for Strategy.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.IStrategy">
+ <summary>
+ A <b>Strategy</b> as defined in section 3 of the article.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.ITestGraph">
+ <summary>
+ <para>
+ A <em>TestGraph</em> as defined in the section 2 of the article.
+ </para>
+ <para>
+ </para>
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TestGames.ITestGraph.ContainsState(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if <paramref name="v"/> is in the state set.
+ </summary>
+ <param name="v">vertex to test</param>
+ <returns>true if <paramref name="v"/> is in the state set</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TestGames.ITestGraph.ContainsChoicePoint(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Gets a value indicating if <paramref name="v"/> is in CP.
+ </summary>
+ <param name="v">vertex to test</param>
+ <returns>true if <paramref name="v"/> is in CP</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TestGames.ITestGraph.Prob(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Gets a probability associated to the <see cref="T:QuickGraph.Concepts.IEdge"/>
+ <paramref name="e"/>.
+ </summary>
+ <param name="e">edge to test</param>
+ <returns>Probability associated to <paramref name="e"/></returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TestGames.ITestGraph.Cost(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Gets a cost associated to the <see cref="T:QuickGraph.Concepts.IEdge"/>
+ <paramref name="e"/>.
+ </summary>
+ <param name="e">edge to test</param>
+ <returns>Cost associated to <paramref name="e"/></returns>
+ </member>
+ <member name="P:QuickGraph.Algorithms.TestGames.ITestGraph.Graph">
+ <summary>
+ Gets the underlying <see cref="T:QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph"/>
+ graph representing the Finite State Machine.
+ </summary>
+ <value>
+ <see cref="T:QuickGraph.Concepts.Traversals.IBidirectionalVertexAndEdgeListGraph"/> instance representing
+ the fsm.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.TestGames.ITestGraph.States">
+ <summary>
+ Get the state enumerable collection (V-CP).
+ </summary>
+ <value>
+ State vertices enumerable collection.
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.TestGames.ITestGraph.ChoicePoints">
+ <summary>
+ Get the choice point enumerable collection (CP).
+ </summary>
+ <value>
+ Choice point vertices enumerable collection.
+ </value>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.NamespaceDoc">
+ <summary>
+ <para>
+ The <b></b> implements the algorithm from the article:
+ </para>
+ <para>
+ <em>Optimal Strategies for Testing Nondeterministic Systems</em>,
+ Lev Nachmanson Margus Veanes Wolfram Schulte
+ Nikolai Tillmann Wolfgang Grieskamp
+ Microsoft Research, One Microsoft Way, Redmond, WA
+ <em>flevnach,margus,schulte,nikolait,wrwgg@microsoft.com</em>
+ http://research.microsoft.com/users/schulte/Papers/OptimalStrategiesForTestingNondeterminsticSystems(ISSTA2004).pdf
+ </para>
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.OptimalStrategy">
+ <summary>
+ Summary description for OptimalStrategy.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.OptimalWinningStrategyCalculationAlgorithm">
+ <summary>
+ Optimal winning strategy calculation algorithm.
+ </summary>
+ <remarks>
+ <para>
+ This algorithm is an implementation of the
+ http://research.microsoft.com/users/schulte/Papers/OptimalStrategiesForTestingNondeterminsticSystems(ISSTA2004).pdf
+ </para>
+ </remarks>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.PairPreOrderPerformanceComparer">
+ <summary>
+ Summary description for PairPreOrderPerformanceComparer.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.ReachabilityStrategyCalculationAlgorithm">
+ <summary>
+ Summary description for ReachabilityStrategyCalculationAlgorithm.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TestGames.Strategy">
+ <summary>
+ Summary description for Strategy.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TopologicalSortAlgorithm">
+ <summary>
+ Topological sort of the graph.
+ </summary>
+ <remarks>
+ <para>
+ The topological sort algorithm creates a linear ordering of the
+ vertices such that if edge (u,v) appears in the graph, then v comes
+ before u in the ordering.
+ </para>
+ <para>
+ The graph must be a directed acyclic graph
+ (DAG). The implementation consists mainly of a call to
+ <see cref="T:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm"/>.
+ </para>
+ <para>This algorithm is directly inspired from the
+ BoostGraphLibrary implementation.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TopologicalSortAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Builds a new sorter
+ </summary>
+ <param name="g">Graph to sort</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TopologicalSortAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph,System.Collections.IList)">
+ <summary>
+ Builds a new sorter
+ </summary>
+ <param name="g">Graph to sort</param>
+ <param name="vertices">vertices list</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TopologicalSortAlgorithm.BackEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Delegate event that detects cycle. <seealso cref="T:QuickGraph.Concepts.EdgeEventHandler"/>.
+ </summary>
+ <param name="sender">DepthFirstSearch algorithm</param>
+ <param name="args">Edge that produced the error</param>
+ <exception cref="T:System.Exception">Will always throw an exception.</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TopologicalSortAlgorithm.FinishVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Delegate that adds the vertex to the vertex list. <seealso cref="T:QuickGraph.Concepts.VertexEventHandler"/>.
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TopologicalSortAlgorithm.Compute">
+ <summary>
+ Computes the topological sort and stores it in the list.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TopologicalSortAlgorithm.Compute(System.Collections.IList)">
+ <summary>
+ Computes the topological sort and stores it in the list.
+ </summary>
+ <param name="vertices">Vertex list that will contain the results</param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.TopologicalSortAlgorithm.VisitedGraph">
+ <summary>
+ Visited vertex list
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.TopologicalSortAlgorithm.SortedVertices">
+ <summary>
+ Sorted vertices list
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TransitiveClosureAlgorithm">
+ <summary>
+ Creates a transitive closure of the input graph
+ </summary>
+ <remarks>
+ <para>
+ The core algorithm for Transitive Closure (TC) is inspired by the
+ Boost Graph Library implementation
+ and Nuutila, E's work "Efficient Transitive Closure Computation in
+ Large Digraphs".
+ </para>
+ <para>
+ Event <see cref="E:QuickGraph.Algorithms.TransitiveClosureAlgorithm.InitTransitiveClosureVertex"/> is raised when a new
+ vertex is added to the TC graph.
+ It maps a vertex in the original graph to the corresponding vertex in
+ the TC graph
+ </para>
+ <para>
+ Event <see cref="E:QuickGraph.Algorithms.TransitiveClosureAlgorithm.ExamineEdge"/> is rasied when an edge is added to the
+ TC graph
+ </para>
+ </remarks>
+ <author name="Rohit Gadogkar" email="rohit.gadagkar@gmail.com"/>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TransitiveClosureAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexListGraph)">
+ <summary>
+ Transitive closure constructor
+ </summary>
+ <param name="g">
+ Graph whose transitive closre needs to be
+ computed
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="g"/> is a <null/>.
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TransitiveClosureAlgorithm.OnInitTransitiveClosureVertex(QuickGraph.Algorithms.TransitiveClosureVertexEventArgs)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.TransitiveClosureAlgorithm.InitTransitiveClosureVertex"/> event.
+ </summary>
+ <param name="arg"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TransitiveClosureAlgorithm.OnExamineEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Raises the <see cref="E:QuickGraph.Algorithms.TransitiveClosureAlgorithm.ExamineEdge"/> event.
+ </summary>
+ <param name="e">New edge that was added to the transitive closure graph</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TransitiveClosureAlgorithm.Create(QuickGraph.Concepts.MutableTraversals.IMutableVertexAndEdgeListGraph)">
+ <summary>
+ Compute the transitive closure and store it in the supplied graph 'tc'
+ </summary>
+ <param name="tc">
+ Mutable Graph instance to store the transitive closure
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="tc"/> is a <null/>.
+ </exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.TransitiveClosureAlgorithm.VisitedGraph">
+ <summary>
+ Visited Graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.TransitiveClosureAlgorithm.OrigToTCVertexMap">
+ <summary>
+ Map of vertex in Original graph to corresponding vertex in Transitive Closure
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.TransitiveClosureAlgorithm.InitTransitiveClosureVertex">
+ <summary>
+ Invoked when a new vertex is added to the Transitive Closure graph
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.TransitiveClosureAlgorithm.ExamineEdge">
+ <summary>
+ Invoked when a new edge is added to the transitive closure graph.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TransitiveClosureVertexEventArgs">
+ <summary>
+ Encapsulates a vertex in the original graph and it's corresponding vertex in a transformation of the graph
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.TransitiveClosureVertexEventArgs.#ctor(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.IVertex)">
+ <summary>
+ constructor
+ </summary>
+ <param name="original_vertex">Vertex in original graph</param>
+ <param name="transform_vertex">Equivalent Vertex in the transformation graph</param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.TransitiveClosureVertexEventArgs.VertexInOriginalGraph">
+ <summary>
+ Vertex in original graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.TransitiveClosureVertexEventArgs.VertexInTransformationGraph">
+ <summary>
+ Equivalent Vertex in the transformation graph
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.TransitiveClosureVertexEventHandler">
+ <summary>
+ Delegate to handle the TransformVertexEvent
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm">
+ <summary>
+ Under construction
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.#ctor(QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph)">
+ <summary>
+ Construct an eulerian trail builder
+ </summary>
+ <param name="g"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.OnTreeEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.OnCircuitEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.OnVisitEdge(QuickGraph.Concepts.IEdge)">
+ <summary>
+
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.Search(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Search a new path to add to the current circuit
+ </summary>
+ <param name="u">start vertex</param>
+ <returns>true if successfull, false otherwize</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.Visit">
+ <summary>
+ Looks for a new path to add to the current vertex.
+ </summary>
+ <returns>true if found a new path, false otherwize</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.ComputeEulerianPathCount(QuickGraph.Concepts.Traversals.IVertexAndEdgeListGraph)">
+ <summary>
+ Computes the number of eulerian trail in the graph. If negative,
+ there is an eulerian circuit.
+ </summary>
+ <param name="g"></param>
+ <returns>number of eulerian trails</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.CircuitAugmentation">
+ <summary>
+ Merges the temporary circuit with the current circuit
+ </summary>
+ <returns>true if all the graph edges are in the circuit</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.Compute">
+ <summary>
+ Computes the eulerian trails
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.AddTemporaryEdges(QuickGraph.Concepts.MutableTraversals.IMutableVertexAndEdgeListGraph)">
+ <summary>
+ Adds temporary edges to the graph to make all vertex even.
+ </summary>
+ <param name="g"></param>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.RemoveTemporaryEdges(QuickGraph.Concepts.Modifications.IEdgeMutableGraph)">
+ <summary>
+ Removes temporary edges
+ </summary>
+ <param name="g"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.Trails">
+ <summary>
+ Computes the set of eulerian trails that traverse the edge set.
+ </summary>
+ <remarks>
+ This method returns a set of disjoint eulerian trails. This set
+ of trails spans the entire set of edges.
+ </remarks>
+ <returns>Eulerian trail set</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.Trails(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Computes a set of eulerian trail, starting at <paramref name="s"/>
+ that spans the entire graph.
+ </summary>
+ <remarks>
+ <para>
+ This method computes a set of eulerian trail starting at <paramref name="s"/>
+ that spans the entire graph.The algorithm outline is as follows:
+ </para>
+ <para>
+ The algorithms iterates throught the Eulerian circuit of the augmented
+ graph (the augmented graph is the graph with additional edges to make
+ the number of odd vertices even).
+ </para>
+ <para>
+ If the current edge is not temporary, it is added to the current trail.
+ </para>
+ <para>
+ If the current edge is temporary, the current trail is finished and
+ added to the trail collection. The shortest path between the
+ start vertex <paramref name="s"/> and the target vertex of the
+ temporary edge is then used to start the new trail. This shortest
+ path is computed using the <see cref="T:QuickGraph.Algorithms.Search.BreadthFirstSearchAlgorithm"/>.
+ </para>
+ </remarks>
+ <param name="s">start vertex</param>
+ <returns>eulerian trail set, all starting at s</returns>
+ <exception cref="T:System.ArgumentNullException">s is a null reference.</exception>
+ <exception cref="T:System.Exception">Eulerian trail not computed yet.</exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.VisitedGraph">
+ <summary>
+ Visited Graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.QuickGraph#Concepts#Algorithms#IAlgorithm#VisitedGraph">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.Circuit">
+ <summary>
+ Eulerian circuit on modified graph
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.TemporaryCircuit">
+ <summary>
+ Used internally
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.TreeEdge">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.CircuitEdge">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="E:QuickGraph.Algorithms.Travelling.EulerianTrailAlgorithm.VisitEdge">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Travelling.NamespaceDoc">
+ <summary>
+ The <b>QuickGraph.Algorithms.Travelling</b> namespace
+ contains classes for solving travelling problems such as
+ computing Eulerian trails, Chinese Postman (not yet), Travelling salesman (not yet).
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.DistanceRecorderVisitor">
+ <summary>
+ Records the vertex distance
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.DistanceRecorderVisitor.#ctor">
+ <summary>
+ Default constructor
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.DistanceRecorderVisitor.#ctor(QuickGraph.Collections.VertexIntDictionary)">
+ <summary>
+ Uses the dictionary to record the distance
+ </summary>
+ <param name="distances">Distance dictionary</param>
+ <exception cref="T:System.ArgumentNullException">distances is null</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.DistanceRecorderVisitor.InitializeVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ d[u] = + intfy
+ </summary>
+ <param name="sender">Algorithm using the visitor</param>
+ <param name="args">Contains the vertex</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.DistanceRecorderVisitor.DiscoverVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ d[u] = 0;
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.DistanceRecorderVisitor.TreeEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Let e = (u,v), d[ v ] = d[ u ] + 1;
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.DistanceRecorderVisitor.Distances">
+ <summary>
+ Vertex distance dictionary
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor">
+ <summary>
+ Visitor that computes the edge predecessors.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.#ctor">
+ <summary>
+ Default constructor
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.#ctor(QuickGraph.Collections.EdgeEdgeDictionary,QuickGraph.Collections.EdgeCollection)">
+ <summary>
+
+ </summary>
+ <param name="edgePredecessors"></param>
+ <param name="endPathEdges"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.Path(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Returns the path leading to the vertex v.
+ </summary>
+ <param name="se">end of the path</param>
+ <returns>path leading to v</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.AllPaths">
+ <summary>
+ Returns the minimal set of path from the entry point that
+ executes all actions
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.MergedPath(QuickGraph.Concepts.IEdge,QuickGraph.Collections.EdgeColorDictionary)">
+ <summary>
+ Create a merged path.
+ </summary>
+ <remarks>
+ <para>
+ This method creates an edge path that stops if an edge is not white
+ or the edge has no more predecessors.
+ </para>
+ </remarks>
+ <param name="se">end edge</param>
+ <param name="colors">edge color dictionary</param>
+ <returns>path to edge</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.AllMergedPaths">
+ <summary>
+ Returns the array of merged paths
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.InitializeEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Not used
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.DiscoverTreeEdge(System.Object,QuickGraph.Concepts.EdgeEdgeEventArgs)">
+ <summary>
+ Records edge predecessor
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.FinishEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Records end path edges
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.EdgePredecessors">
+ <summary>
+ Vertex Edge predecessor map.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.EdgePredecessorRecorderVisitor.EndPathEdges">
+ <summary>
+ End path edges collection
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.EdgeRecorderVisitor">
+ <summary>
+ A visitor that records edges.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgeRecorderVisitor.#ctor">
+ <summary>
+ Create an empty edge visitor
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgeRecorderVisitor.#ctor(QuickGraph.Collections.EdgeCollection)">
+ <summary>
+
+ </summary>
+ <param name="edges"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgeRecorderVisitor.RecordEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Record edge handler
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.EdgeRecorderVisitor.Edges">
+ <summary>
+ Recorded edges
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.EdgeWeightScalerVisitor">
+ <summary>
+ Scales the edge weights at each call
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgeWeightScalerVisitor.#ctor(QuickGraph.Collections.EdgeDoubleDictionary,System.Double)">
+ <summary>
+ Constructs a edge weight scaler
+ </summary>
+ <param name="weights">edge weight dictionary</param>
+ <param name="factor">weight scale factor</param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.EdgeWeightScalerVisitor.TreeEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Event handler that applies the factor the edge weight
+ </summary>
+ <param name="sender"></param>
+ <param name="e">event arguement containing the edge</param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.EdgeWeightScalerVisitor.Weights">
+ <summary>
+ Gets the edge weight dictionary
+ </summary>
+ <value>
+ Edge weight dictionary
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.EdgeWeightScalerVisitor.Factor">
+ <summary>
+ Gets or sets the scale factor
+ </summary>
+ <value>
+ Scale factor
+ </value>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.SinkRecorderVisitor">
+ <summary>
+ Visitor that records the sink vertices in the visited tree.
+ </summary>
+ <remarks>
+ A sink vertex is a vertex that has no out-edges.
+ </remarks>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.SinkRecorderVisitor.#ctor(QuickGraph.Concepts.Traversals.IIncidenceGraph)">
+ <summary>
+ Create a <see cref="!:sinkRecorderVisitor"/> instance.
+ </summary>
+ <param name="g">visited graph</param>
+ <exception cref="T:System.ArgumentNullException">g is a null reference</exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.SinkRecorderVisitor.#ctor(QuickGraph.Concepts.Traversals.IIncidenceGraph,QuickGraph.Collections.VertexCollection)">
+ <summary>
+ Create a <see cref="!:sinkRecorderVisitor"/> instance.
+ </summary>
+ <param name="g">visited graph</param>
+ <param name="sinks">collection that will hold the sinks</param>
+ <exception cref="T:System.ArgumentNullException">g is a null reference</exception>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.SinkRecorderVisitor.VisitedGraph">
+ <summary>
+ Gets the visited <see cref="T:QuickGraph.Concepts.Traversals.IIncidenceGraph"/> instance
+ </summary>
+ <value>
+ The visited graph
+ </value>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.SinkRecorderVisitor.Sinks">
+ <summary>
+ Gets the sink collection
+ </summary>
+ <value>
+ A <see cref="T:QuickGraph.Collections.VertexCollection"/> of sink vertices
+ </value>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.NamespaceDoc">
+ <summary>
+ <para>
+ The <b>QuickGraph.Algorithms.Visitors</b> namespace contains
+ classic graph algorithm visitors.
+ </para>
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.PredecessorRecorderVisitor">
+ <summary>
+ Visitor that computes the vertices predecessors.
+ </summary>
+ <remarks>
+ The visitor applies to any algorithm that implements the
+ <seealso cref="T:QuickGraph.Concepts.Algorithms.IPredecessorRecorderAlgorithm"/> model.
+ </remarks>
+ <example>
+ This sample shows how to use the find the predecessor map using a
+ <seealso cref="T:QuickGraph.Algorithms.Search.DepthFirstSearchAlgorithm"/>:
+ <code>
+ Graph g = ...;
+
+ // creating dfs algorithm
+ DepthFirstSearchAlgorithm dfs = new DepthFirstSearchAlgorithm(g);
+
+ // creating predecessor visitor
+ PredecessorVisitor pred = new PredecessorVisitor();
+
+ // registering event handlers
+ pred.RegisterHandlers(dfs);
+
+ //executing...
+ dfs.Compute();
+
+ // pred.Predecessors now contains the map of predecessors.
+ </code>
+ </example>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.PredecessorRecorderVisitor.#ctor">
+ <summary>
+ Default constructor
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.PredecessorRecorderVisitor.#ctor(QuickGraph.Collections.VertexEdgeDictionary)">
+ <summary>
+ Constructor, uses the given predecessor map.
+ </summary>
+ <param name="predecessors">Predecessor map</param>
+ <exception cref="T:System.ArgumentNullException">
+ predecessors is null
+ </exception>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.PredecessorRecorderVisitor.Path(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Returns the path leading to the vertex v.
+ </summary>
+ <param name="v">end of the path</param>
+ <returns>path leading to v</returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.PredecessorRecorderVisitor.AllPaths">
+ <summary>
+ Returns the minimal set of path from the entry point that
+ executes all actions
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.PredecessorRecorderVisitor.TreeEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Let e = (u,v), p[v]=u
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.PredecessorRecorderVisitor.FinishVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Records end of path vertex
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.PredecessorRecorderVisitor.Predecessors">
+ <summary>
+ Vertex Edge predecessor map.
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.PredecessorRecorderVisitor.EndPathVertices">
+ <summary>
+ End of path vertices
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.SuccessorRecorderVisitor">
+ <summary>
+ Summary description for SuccessorRecorderVisitor.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.SuccessorRecorderVisitor.InitializeVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Removes
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.SuccessorRecorderVisitor.TreeEdge(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Let e = (u,v), p[u]=e
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.TimeStamperVisitor">
+ <summary>
+ Description résumée de TimeStamperVisitor.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.TimeStamperVisitor.#ctor">
+ <summary>
+ Default constructor
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.TimeStamperVisitor.DiscoverVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Store the current time in the discover dictionary and increment
+ the current time.
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.TimeStamperVisitor.FinishVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Store the current time in the finish dictionary and increment
+ the current time.
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.TimeStamperVisitor.DiscoverTimes">
+ <summary>
+ Vertex discover time dictionary
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.TimeStamperVisitor.FinishTimes">
+ <summary>
+ Vertex finish time dictionary
+ </summary>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.TimeStamperVisitor.Time">
+ <summary>
+ Current time
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.PopulatorVisitor">
+ <summary>
+ Summary description for VertexListPopulatorVisitor.
+ </summary>
+ </member>
+ <member name="T:QuickGraph.Algorithms.Visitors.VertexRecorderVisitor">
+ <summary>
+ A visitor that records vertices.
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.VertexRecorderVisitor.#ctor">
+ <summary>
+ Create an empty vertex visitor
+ </summary>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.VertexRecorderVisitor.#ctor(QuickGraph.Collections.VertexCollection)">
+ <summary>
+
+ </summary>
+ <param name="vertices"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.VertexRecorderVisitor.RecordVertex(System.Object,QuickGraph.Concepts.VertexEventArgs)">
+ <summary>
+ Record vertex handler
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.VertexRecorderVisitor.RecordTarget(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Record vertex handler
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="M:QuickGraph.Algorithms.Visitors.VertexRecorderVisitor.RecordSource(System.Object,QuickGraph.Concepts.EdgeEventArgs)">
+ <summary>
+ Record vertex handler
+ </summary>
+ <param name="sender"></param>
+ <param name="args"></param>
+ </member>
+ <member name="P:QuickGraph.Algorithms.Visitors.VertexRecorderVisitor.Vertices">
+ <summary>
+ Recorded vertices
+ </summary>
+ </member>
+ </members>
+</doc>
|
