- java.lang.Object
-
- xyz.cofe.collection.graph.GraphTools
-
public class GraphTools extends Object
Инстуремент для работы с графами- Author:
- nt.gocha@gmail.com
-
-
Constructor Summary
Constructors Constructor Description GraphTools()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <N,E>
NfirstNode(Edge<N,E> edge, Path.Direction d)static <N,E>
intgetMaxPathLength(Graph<N,E> g, N start, Path.Direction direct)Получение максимального длинный пути в графе (макс кол-во ребр в пути).static <N,E>
GraphIterator<N,E>iterator(Graph<N,E> gr)static <N,E>
GraphIterator<N,E>iterator(Graph<N,E> gr, boolean reverseOrder)static <N,E>
Function<Edge<N,E>,N>nodeAOfEdge()Возвращает вершину А из ребраstatic <N,E>
Function<Edge<N,E>,N>nodeBOfEdge()Возвращает вершину Б из ребраstatic <N,E>
NodesExtracter<N,N>nodeExtracter(Graph<N,E> g, Path.Direction direct)Создает извелечение смеженных узлов из узлаstatic <N,E>
NsecondNode(Edge<N,E> edge, Path.Direction d)
-
-
-
Method Detail
-
nodeAOfEdge
public static <N,E> Function<Edge<N,E>,N> nodeAOfEdge()
Возвращает вершину А из ребра- Type Parameters:
N- Тип вершиныE- Тип ребра/дуги- Returns:
- Вершина А
-
nodeBOfEdge
public static <N,E> Function<Edge<N,E>,N> nodeBOfEdge()
Возвращает вершину Б из ребра- Type Parameters:
N- Тип вершиныE- Тип ребра/дуги- Returns:
- Вершина Б
-
nodeExtracter
public static <N,E> NodesExtracter<N,N> nodeExtracter(Graph<N,E> g, Path.Direction direct)
Создает извелечение смеженных узлов из узла- Type Parameters:
N- Тип узла/вершиныE- Тип ребра/дуги- Parameters:
g- Графdirect- Направление- Returns:
- извлекатель
-
getMaxPathLength
public static <N,E> int getMaxPathLength(Graph<N,E> g, N start, Path.Direction direct)
Получение максимального длинный пути в графе (макс кол-во ребр в пути).- Type Parameters:
N- Тип узла/вершиныE- Тип ребра/дуги- Parameters:
g- Графstart- Начальная вершинаdirect- Направление- Returns:
- -1 - цикл;
0 - начальная вершина, она же конечна;
1 - одно ребро; 2 - два ребра ...
-
firstNode
public static <N,E> N firstNode(Edge<N,E> edge, Path.Direction d)
-
secondNode
public static <N,E> N secondNode(Edge<N,E> edge, Path.Direction d)
-
iterator
public static <N,E> GraphIterator<N,E> iterator(Graph<N,E> gr)
-
iterator
public static <N,E> GraphIterator<N,E> iterator(Graph<N,E> gr, boolean reverseOrder)
-
-