Class MappedSDGraph<N,​E>

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Map<N,​Map<N,​E>> data
      Словарь/Данные графа
    • Constructor Summary

      Constructors 
      Constructor Description
      MappedSDGraph()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(N node)
      Добавляет вершину к графу
      void clearAll()
      Удалес все ребра и вершины
      void clearEdges()
      Удаляет все ребра
      boolean contains​(N node)
      Проверяет наличае вершины
      protected Edge<N,​E> createEdge​(N a, N b, E e)
      Создает ребро
      protected Collection<Edge<N,​E>> createEdgePairs()
      Созадает коллекцию дуг
      protected Collection<E> createEdges()
      Создает коллекцию дуг
      protected Map<N,​E> createN2EMap()
      Создает карту Вершина / Дуга
      protected Map<N,​Map<N,​E>> createN2NEMap()
      Создает карту Вершина / (Вершина / Дуга)
      Iterable<Edge<N,​E>> edgesOf​(N node)
      Возвращает ребра указанной вершины
      Iterable<Edge<N,​E>> edgesOfNodeA​(N nodeA)
      Возвращает ребра из вершины А
      Iterable<Edge<N,​E>> edgesOfNodeB​(N nodeB)
      Возвращает ребра из вершины Б
      protected boolean equals​(N a, N b)
      Проверяет на эквивалентность вершины
      E get​(N a, N b)
      Возвращает ребро между вершинами
      protected Map<N,​Map<N,​E>> getData()
      Возвращает карту/данные Вершина / (Вершина / Дуга)
      E getEdge​(N a, N b)
      Возвращает ребро между вершинами
      Iterable<Edge<N,​E>> getEdges()
      Возвращает Ребра и вершины графа
      Iterable<E> getEdges​(N a, N b)
      Возвращает ребра между вершинами
      Iterable<N> getNodes()
      Возвращает вершины графа
      boolean hasEdge​(N a, N b)
      Проверка наличия ребра между вершинами
      void remove​(N node)
      Удаляет вершину из графа
      void removeEdge​(N a, N b)
      Удаление ребра
      void set​(N a, N b, E e)
      Устанавливает/Сбрасывает ребро между вершинами
      void setEdge​(N a, N b, E edge)
      Установка ребра между вершинами
      void setEdges​(N a, N b, Iterable<E> edges)
      Установка ребр между вершинами
    • Field Detail

      • data

        protected Map<N,​Map<N,​E>> data
        Словарь/Данные графа
    • Constructor Detail

      • MappedSDGraph

        public MappedSDGraph()
    • Method Detail

      • createN2EMap

        protected Map<N,​E> createN2EMap()
        Создает карту Вершина / Дуга
        Returns:
        Карта Вершина / Дуга
      • createN2NEMap

        protected Map<N,​Map<N,​E>> createN2NEMap()
        Создает карту Вершина / (Вершина / Дуга)
        Returns:
        Карта Вершина / (Вершина / Дуга)
      • createEdge

        protected Edge<N,​E> createEdge​(N a,
                                             N b,
                                             E e)
        Создает ребро
        Parameters:
        a - Вершниа А
        b - Вершина Б
        e - Дуга
        Returns:
        Дуга А - Б
      • getData

        protected Map<N,​Map<N,​E>> getData()
        Возвращает карту/данные Вершина / (Вершина / Дуга)
        Returns:
        Карта / Данные - Вершина / (Вершина / Дуга)
      • createEdgePairs

        protected Collection<Edge<N,​E>> createEdgePairs()
        Созадает коллекцию дуг
        Returns:
        Коллеция дуг
      • equals

        protected boolean equals​(N a,
                                 N b)
        Проверяет на эквивалентность вершины
        Parameters:
        a - Вершина А
        b - Вершина Б
        Returns:
        Эквивалентны вершины А и Б
      • createEdges

        protected Collection<E> createEdges()
        Создает коллекцию дуг
        Returns:
        Коллеция дуг
      • contains

        public boolean contains​(N node)
        Description copied from interface: Graph
        Проверяет наличае вершины
        Specified by:
        contains in interface Graph<N,​E>
        Parameters:
        node - Вершина
        Returns:
        true -вершина содержиться в графе
      • add

        public void add​(N node)
        Description copied from interface: Graph
        Добавляет вершину к графу
        Specified by:
        add in interface Graph<N,​E>
        Parameters:
        node - Вершина
      • remove

        public void remove​(N node)
        Description copied from interface: Graph
        Удаляет вершину из графа
        Specified by:
        remove in interface Graph<N,​E>
        Parameters:
        node - Вершина
      • getNodes

        public Iterable<N> getNodes()
        Description copied from interface: Graph
        Возвращает вершины графа
        Specified by:
        getNodes in interface Graph<N,​E>
        Returns:
        вершины
      • getEdges

        public Iterable<Edge<N,​E>> getEdges()
        Description copied from interface: Graph
        Возвращает Ребра и вершины графа
        Specified by:
        getEdges in interface Graph<N,​E>
        Returns:
        Ребра и вершины
      • edgesOf

        public Iterable<Edge<N,​E>> edgesOf​(N node)
        Description copied from interface: Graph
        Возвращает ребра указанной вершины
        Specified by:
        edgesOf in interface Graph<N,​E>
        Parameters:
        node - Вершина
        Returns:
        ребра
      • edgesOfNodeA

        public Iterable<Edge<N,​E>> edgesOfNodeA​(N nodeA)
        Description copied from interface: Graph
        Возвращает ребра из вершины А
        Specified by:
        edgesOfNodeA in interface Graph<N,​E>
        Parameters:
        nodeA - Вершина А
        Returns:
        Ребра
      • edgesOfNodeB

        public Iterable<Edge<N,​E>> edgesOfNodeB​(N nodeB)
        Description copied from interface: Graph
        Возвращает ребра из вершины Б
        Specified by:
        edgesOfNodeB in interface Graph<N,​E>
        Parameters:
        nodeB - Вершина Б
        Returns:
        Ребра
      • clearEdges

        public void clearEdges()
        Description copied from interface: Graph
        Удаляет все ребра
        Specified by:
        clearEdges in interface Graph<N,​E>
      • clearAll

        public void clearAll()
        Description copied from interface: Graph
        Удалес все ребра и вершины
        Specified by:
        clearAll in interface Graph<N,​E>
      • hasEdge

        public boolean hasEdge​(N a,
                               N b)
        Description copied from interface: Graph
        Проверка наличия ребра между вершинами
        Specified by:
        hasEdge in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        Returns:
        Флаг наличия ребра
      • removeEdge

        public void removeEdge​(N a,
                               N b)
        Description copied from interface: Graph
        Удаление ребра
        Specified by:
        removeEdge in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
      • getEdge

        public E getEdge​(N a,
                         N b)
        Description copied from interface: Graph
        Возвращает ребро между вершинами
        Specified by:
        getEdge in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        Returns:
        Ребро
      • setEdge

        public void setEdge​(N a,
                            N b,
                            E edge)
        Description copied from interface: Graph
        Установка ребра между вершинами
        Specified by:
        setEdge in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        edge - Ребро
      • getEdges

        public Iterable<E> getEdges​(N a,
                                    N b)
        Description copied from interface: Graph
        Возвращает ребра между вершинами
        Specified by:
        getEdges in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        Returns:
        Ребра
      • setEdges

        public void setEdges​(N a,
                             N b,
                             Iterable<E> edges)
        Description copied from interface: Graph
        Установка ребр между вершинами
        Specified by:
        setEdges in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        edges - Ребра
      • get

        public E get​(N a,
                     N b)
        Description copied from interface: SingleGraph
        Возвращает ребро между вершинами
        Specified by:
        get in interface SingleGraph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        Returns:
        Ребро
      • set

        public void set​(N a,
                        N b,
                        E e)
        Description copied from interface: SingleGraph
        Устанавливает/Сбрасывает ребро между вершинами
        Specified by:
        set in interface SingleGraph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        e - Ребро