/// <summary> /// Computes the number of routes between two nodes with a maximum distance. /// </summary> /// <param name="graph">Graph informations.</param> /// <param name="startNode">Initial node of a path.</param> /// <param name="endNode">End node of a path.</param> /// <param name="maxDistance">Maximum distance between nodes.</param> /// <returns>Number of routes with a maximum distance.</returns> public static int ComputeAllRoutesMaxDistance(GraphModel graph, char startNode, char endNode, int maxDistance) { AllRoutesAlgorithm algorithm = new AllRoutesAlgorithm(graph, startNode, endNode, maxDistance); return(algorithm.ComputeAllRoutesMaxDistance()); }
/// <summary> /// Computes all routes between two nodes with a defined number of stops. /// </summary> /// <param name="graph">Graph informations.</param> /// <param name="startNode">Initial node of a path.</param> /// <param name="endNode">End node of a path.</param> /// <param name="numStops">Maximum number of stops in a path.</param> /// <returns>List of <code>GraphRouteAlgorithmReturn</code> object that contains the paths and the weights of all routes found.</returns> public static List <GraphRouteAlgorithmReturn> ComputeAllRoutesNumStops(GraphModel graph, char startNode, char endNode, int numStops) { AllRoutesAlgorithm algorithm = new AllRoutesAlgorithm(graph, startNode, endNode, numStops); return(algorithm.ComputeAllRoutesNumStops()); }