Class GraphTools


  • public class GraphTools
    extends Object
    Инстуремент для работы с графами
    Author:
    nt.gocha@gmail.com
    • Constructor Detail

      • GraphTools

        public GraphTools()
    • 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,
                                                                    boolean reverseOrder)