| 程序包 | 说明 |
|---|---|
| com.jn.langx.util.collection.graph | |
| com.jn.langx.util.collection.graph.traverser |
| 限定符和类型 | 字段和说明 |
|---|---|
protected Vertex<T> |
Graph.rootVertex
The vertex identified as the root of the graph
|
| 限定符和类型 | 字段和说明 |
|---|---|
protected Map<String,Vertex<T>> |
Graph.vertices
Map
|
| 限定符和类型 | 方法和说明 |
|---|---|
Vertex<T> |
Graph.findVertexByData(T data,
Comparator<T> compare)
Search the verticies for one with data.
|
Vertex<T> |
Edge.getFrom()
Get the starting vertex
|
Vertex<T> |
Graph.getRootVertex()
Get the root vertex
|
Vertex<T> |
Edge.getTo()
Get the ending vertex
|
Vertex<T> |
Graph.getVertex(int n)
Get the given Vertex.
|
Vertex<T> |
Graph.getVertex(String name)
Search the verticies for one with name.
|
| 限定符和类型 | 方法和说明 |
|---|---|
static <T> List<Vertex<T>> |
Graphs.bfsSort(Graph<T> graph) |
static <T> List<Vertex<T>> |
Graphs.bfsSort(Graph<T> graph,
String vertexName) |
static <T> List<Vertex<T>> |
Graphs.dfsSort(Graph<T> graph) |
static <T> List<Vertex<T>> |
Graphs.dfsSort(Graph<T> graph,
String vertexName) |
List<Vertex<T>> |
Vertex.getIncomingVertices() |
List<Vertex<T>> |
Vertex.getOutgoingVertices() |
List<Vertex<T>> |
Graph.getVertices()
Get the graph vertices
|
static <T> List<Vertex<T>> |
Graphs.sort(GraphTraverser traverser,
Graph<T> graph) |
static <T> List<Vertex<T>> |
Graphs.sort(GraphTraverser traverser,
Graph<T> graph,
String vertexName) |
static <T> List<Vertex<T>> |
Graphs.tdfsSort(Graph<T> graph) |
static <T> List<Vertex<T>> |
Graphs.tdfsSort(Graph<T> graph,
String vertexName) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
VertexConsumer.accept(Graph<T> graph,
Vertex<T> vertex,
Edge<T> edge) |
boolean |
Graph.addBiEdge(Vertex<T> from,
Vertex<T> to,
int weight)
Insert a bidirectional (两个方向的) Edge
|
boolean |
Graph.addBiEdge(Vertex<T> from,
Vertex<T> to,
int weight)
Insert a bidirectional (两个方向的) Edge
|
boolean |
Graph.addEdge(Vertex<T> from,
Vertex<T> to) |
boolean |
Graph.addEdge(Vertex<T> from,
Vertex<T> to) |
boolean |
Graph.addEdge(Vertex<T> from,
Vertex<T> to,
int weight) |
boolean |
Graph.addEdge(Vertex<T> from,
Vertex<T> to,
int weight) |
boolean |
DAG.addEdge(Vertex<T> from,
Vertex<T> to,
int weight) |
boolean |
DAG.addEdge(Vertex<T> from,
Vertex<T> to,
int weight) |
boolean |
Graph.addEdge(Vertex<T> from,
Vertex<T> to,
String label,
int weight)
Insert a directed, weighted Edge
|
boolean |
Graph.addEdge(Vertex<T> from,
Vertex<T> to,
String label,
int weight)
Insert a directed, weighted Edge
|
void |
Vertex.addIncomingEdge(Vertex<T> from,
int weight)
Add an incoming edge starting at from
|
void |
Vertex.addOutgoingEdge(Vertex<T> to,
int weight)
Add an outgoing edge ending at to.
|
boolean |
Graph.addVertex(Vertex<T> v)
Add a vertex to the graph
|
static List<String> |
Graphs.detectCycle(Vertex vertex) |
static List<String> |
Graphs.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
|
Edge<T> |
Vertex.findEdge(Vertex<T> dest)
Search the outgoing edges looking for an edge whose's
edge.to == dest.
|
boolean |
Vertex.hasEdge(Vertex<T> dest)
Is there an outgoing edge ending at dest.
|
boolean |
Graph.removeEdge(Vertex<T> from,
Vertex<T> to)
Remove an Edge
|
boolean |
Graph.removeEdge(Vertex<T> from,
Vertex<T> to)
Remove an Edge
|
boolean |
Graph.removeVertex(Vertex<T> v)
Remove a vertex from the graph
|
boolean |
Graph.removeVertex(Vertex<T> v,
boolean removeUnsharedOutgoing) |
void |
Graph.setRootVertex(Vertex<T> vertex)
Set a vertex vertex.
|
int |
Vertex.weight(Vertex<T> dest)
What is the cost from this vertex to the dest vertex.
|
| 构造器和说明 |
|---|
Edge(Vertex<T> from,
Vertex<T> to)
Create a zero cost edge between from and to
|
Edge(Vertex<T> from,
Vertex<T> to)
Create a zero cost edge between from and to
|
Edge(Vertex<T> from,
Vertex<T> to,
int weight) |
Edge(Vertex<T> from,
Vertex<T> to,
int weight) |
Edge(Vertex<T> from,
Vertex<T> to,
String label) |
Edge(Vertex<T> from,
Vertex<T> to,
String label) |
Edge(Vertex<T> from,
Vertex<T> to,
String label,
int weight)
Create an edge between from and to with the given cost.
|
Edge(Vertex<T> from,
Vertex<T> to,
String label,
int weight)
Create an edge between from and to with the given cost.
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
AbstractGraphTraverser.doVisit(Map<String,VisitStatus> visitStatusMap,
Graph<T> graph,
Vertex<T> vertex,
Edge<T> edge,
VertexConsumer<T> consumer) |
protected void |
TreeGraphTraverser.traverse(Map<String,VisitStatus> visitStatusMap,
Graph<T> graph,
Vertex<T> vertex,
Edge<T> edge,
VertexConsumer<T> consumer) |
protected void |
DeepFirstGraphTraverser.traverse(Map<String,VisitStatus> visitStatusMap,
Graph<T> graph,
Vertex<T> vertex,
Edge<T> edge,
VertexConsumer<T> consumer) |
protected void |
BreadthFirstGraphTraverser.traverse(Map<String,VisitStatus> visitStatusMap,
Graph<T> graph,
Vertex<T> vertex,
Edge<T> edge,
VertexConsumer<T> consumer) |
protected abstract void |
AbstractGraphTraverser.traverse(Map<String,VisitStatus> visitStatusMap,
Graph<T> graph,
Vertex<T> vertex,
Edge<T> edge,
VertexConsumer<T> consumer) |
Copyright © 2022. All rights reserved.