public static Optional <IEnumerable <WeightedEdge <T> > > FindSpanningTree <T>(this IGraph <T> graph, Func <ISelectSpanningTreeStrategy <T>, IBuildSpanningTreeStrategy <T> > traversalOptions) { if (traversalOptions == null) { throw new ArgumentNullException(nameof(traversalOptions)); } var builder = new SpanningTreeBuilder <T>(); return(traversalOptions(builder).Build(graph)); }
/// <summary> /// Выводит содержимое покрывающего набора /// </summary> /// <returns>Список вершин и потомков</returns> public JsonResult ViewSpanningPrefixes() { var spanning_tree_builder = new SpanningTreeBuilder(_repository.ReadAll()); return(Json(spanning_tree_builder.SpanningList(), JsonRequestBehavior.AllowGet)); }