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

    Modifier and Type Method Description
    Path<N,​E> clear()
    Создает новый пустой путь
    Path<N,​E> clone()
    Создание клона
    int count​(N n)
    Кол-во определенной вершины в пути
    java.util.List<Path<N,​E>> cycles()
    Возвращает циклы в пути
    E edge​(int beginIndex, int endExc)
    Получение ребра между указаными вершинами.
    java.util.List<E> edges​(int beginIndex, int endExc)
    Получение ребер между указанными вершинами
    java.util.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 Details

    • 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

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

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

      java.util.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

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

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