public class Graphs extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static BreadthFirstGraphTraverser |
BFS |
static DeepFirstGraphTraverser |
DFS |
static TreeGraphTraverser |
TDFS |
| 构造器和说明 |
|---|
Graphs() |
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
beginVisit(Map<String,VisitStatus> statusMap,
String name) |
static <T> List<Vertex<T>> |
bfsSort(Graph<T> graph) |
static <T> List<Vertex<T>> |
bfsSort(Graph<T> graph,
String vertexName) |
static List<String> |
detectCycle(Vertex vertex) |
static List<String> |
detectCycle(Vertex vertex,
Map<String,VisitStatus> vertexStateMap)
This method will be called when an edge leading to given vertex was added and we want to check if introduction of
this edge has not resulted in apparition of cycle in the graph
|
static <T> List<Vertex<T>> |
dfsSort(Graph<T> graph) |
static <T> List<Vertex<T>> |
dfsSort(Graph<T> graph,
String vertexName) |
static void |
finishVisit(Map<String,VisitStatus> statusMap,
String name) |
static VisitStatus |
getVisitStatus(Map<String,VisitStatus> statusMap,
String name) |
static List<String> |
hasCycle(Graph graph) |
static boolean |
isNotVisited(Map<String,VisitStatus> statusMap,
String name) |
static boolean |
isVisiting(Map<String,VisitStatus> statusMap,
String name) |
static Map<String,VisitStatus> |
newVisitStatusMap() |
static <T> List<Vertex<T>> |
sort(GraphTraverser traverser,
Graph<T> graph) |
static <T> List<Vertex<T>> |
sort(GraphTraverser traverser,
Graph<T> graph,
String vertexName) |
static <T> List<Vertex<T>> |
tdfsSort(Graph<T> graph) |
static <T> List<Vertex<T>> |
tdfsSort(Graph<T> graph,
String vertexName) |
static <T> void |
traverse(GraphTraverser traverser,
Graph<T> graph,
String vertexName,
VertexConsumer<T> consumer) |
static <T> void |
traverse(GraphTraverser traverser,
Graph<T> graph,
VertexConsumer<T> consumer) |
public static final DeepFirstGraphTraverser DFS
public static final TreeGraphTraverser TDFS
public static final BreadthFirstGraphTraverser BFS
public static Map<String,VisitStatus> newVisitStatusMap()
public static VisitStatus getVisitStatus(Map<String,VisitStatus> statusMap, String name)
public static boolean isNotVisited(Map<String,VisitStatus> statusMap, String name)
public static boolean isVisiting(Map<String,VisitStatus> statusMap, String name)
public static void beginVisit(Map<String,VisitStatus> statusMap, String name)
public static void finishVisit(Map<String,VisitStatus> statusMap, String name)
public static List<String> detectCycle(Vertex vertex, Map<String,VisitStatus> vertexStateMap)
vertex - vertexStateMap - public static <T> void traverse(GraphTraverser traverser, Graph<T> graph, VertexConsumer<T> consumer)
public static <T> void traverse(@NonNull GraphTraverser traverser, Graph<T> graph, String vertexName, VertexConsumer<T> consumer)
public static <T> List<Vertex<T>> sort(@NonNull GraphTraverser traverser, Graph<T> graph)
public static <T> List<Vertex<T>> sort(@NonNull GraphTraverser traverser, Graph<T> graph, String vertexName)
Copyright © 2022. All rights reserved.