Interface Path<N,​E>

  • Type Parameters:
    N - Тип вершины графа
    E - Тип ребра между вершинами
    All Known Implementing Classes:
    AbstractPath, BasicPath

    public interface Path<N,​E>
    Описывает путь в графе
    Author:
    gocha
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static class  Path.Direction
      Описывает напарвления движения
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Path<N,​E> clear()
      Создает новый пустой путь
      Path<N,​E> clone()
      Создание клона
      int count​(N n)
      Кол-во определенной вершины в пути
      List<Path<N,​E>> cycles()
      Возвращает циклы в пути
      E edge​(int beginIndex, int endExc)
      Получение ребра между указаными вершинами.
      List<E> edges​(int beginIndex, int endExc)
      Получение ребер между указанными вершинами
      List<Edge<N,​E>> fetch​(int beginIndex, int endExc)
      Получение ребер между указанными вершинами
      boolean has​(N a)
      Проверяет содержит ли путь вершину
      boolean hasCycles()
      Проверят путь на наличие циклов
      boolean isEmpty()
      Возвращает признак что путь пустой - не содержит вершин и ребер
      Path<N,​E> join​(N n, E e)
      Создает новый путь с добавленным ребром в конце
      N node​(int nodeIndex)
      Возвращает вершину
      int nodeCount()
      Возвращает кол-во вершин в пути
      Path<N,​E> segment​(int beginIdx, int endExc)
      Возвращает под путь
      Path<N,​E> start​(N n)
      Создает новый путь с начальной вершиной
    • Method Detail

      • clone

        Path<N,​E> clone()
        Создание клона
        Returns:
        клон
      • has

        boolean has​(N a)
        Проверяет содержит ли путь вершину
        Parameters:
        a - вершина A
        Returns:
        true - вершина содержится в пути
      • count

        int count​(N n)
        Кол-во определенной вершины в пути
        Parameters:
        n - вершина
        Returns:
        кол-во
      • nodeCount

        int nodeCount()
        Возвращает кол-во вершин в пути
        Returns:
        кол-во вершин
      • node

        N node​(int nodeIndex)
        Возвращает вершину
        Parameters:
        nodeIndex - индекс вершины
        Returns:
        вершина
      • edges

        List<E> edges​(int beginIndex,
                      int endExc)
        Получение ребер между указанными вершинами
        Parameters:
        beginIndex - начальная вершина
        endExc - конечная (исключительно) вершина
        Returns:
        список ребер
      • edge

        E edge​(int beginIndex,
               int endExc)
        Получение ребра между указаными вершинами. Растояние между вершинами, должно быть 1 ребро.
        Parameters:
        beginIndex - начальная вершина
        endExc - конечная (исключительно) вершина
        Returns:
        ребро
      • fetch

        List<Edge<N,​E>> fetch​(int beginIndex,
                                    int endExc)
        Получение ребер между указанными вершинами
        Parameters:
        beginIndex - начальная вершина
        endExc - конечная (исключительно) вершина
        Returns:
        список ребер
      • isEmpty

        boolean isEmpty()
        Возвращает признак что путь пустой - не содержит вершин и ребер
        Returns:
        true - путь пустой
      • start

        Path<N,​E> start​(N n)
        Создает новый путь с начальной вершиной
        Parameters:
        n - Начальная вершина
        Returns:
        новый путь
      • join

        Path<N,​E> join​(N n,
                             E e)
        Создает новый путь с добавленным ребром в конце
        Parameters:
        e - Ребро/дуга
        n - Вершина
        Returns:
        новый путь
      • clear

        Path<N,​E> clear()
        Создает новый пустой путь
        Returns:
        путь
      • hasCycles

        boolean hasCycles()
        Проверят путь на наличие циклов
        Returns:
        true - в пути присуствуют циклы
      • cycles

        List<Path<N,​E>> cycles()
        Возвращает циклы в пути
        Returns:
        список циклов
      • segment

        Path<N,​E> segment​(int beginIdx,
                                int endExc)
        Возвращает под путь
        Parameters:
        beginIdx - начальная вершина
        endExc - конечная (исключительно) вершина
        Returns:
        Под путь