- java.lang.Object
-
- xyz.cofe.collection.graph.MappedSDGraph<N,E>
-
- All Implemented Interfaces:
DirectedGraph,Graph<N,E>,SingleDirectedGraph<N,E>,SingleGraph<N,E>
public class MappedSDGraph<N,E> extends Object implements SingleDirectedGraph<N,E>
Однонаправленный граф, с использованием словарей (java.util.Map)- Author:
- gocha
-
-
Constructor Summary
Constructors Constructor Description MappedSDGraph()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(N node)Добавляет вершину к графуvoidclearAll()Удалес все ребра и вершиныvoidclearEdges()Удаляет все ребраbooleancontains(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 booleanequals(N a, N b)Проверяет на эквивалентность вершиныEget(N a, N b)Возвращает ребро между вершинамиprotected Map<N,Map<N,E>>getData()Возвращает карту/данные Вершина / (Вершина / Дуга)EgetEdge(N a, N b)Возвращает ребро между вершинамиIterable<Edge<N,E>>getEdges()Возвращает Ребра и вершины графаIterable<E>getEdges(N a, N b)Возвращает ребра между вершинамиIterable<N>getNodes()Возвращает вершины графаbooleanhasEdge(N a, N b)Проверка наличия ребра между вершинамиvoidremove(N node)Удаляет вершину из графаvoidremoveEdge(N a, N b)Удаление ребраvoidset(N a, N b, E e)Устанавливает/Сбрасывает ребро между вершинамиvoidsetEdge(N a, N b, E edge)Установка ребра между вершинамиvoidsetEdges(N a, N b, Iterable<E> edges)Установка ребр между вершинами
-
-
-
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Проверяет наличае вершины
-
remove
public void remove(N node)
Description copied from interface:GraphУдаляет вершину из графа
-
getNodes
public Iterable<N> getNodes()
Description copied from interface:GraphВозвращает вершины графа
-
getEdges
public Iterable<Edge<N,E>> getEdges()
Description copied from interface:GraphВозвращает Ребра и вершины графа
-
edgesOf
public Iterable<Edge<N,E>> edgesOf(N node)
Description copied from interface:GraphВозвращает ребра указанной вершины
-
edgesOfNodeA
public Iterable<Edge<N,E>> edgesOfNodeA(N nodeA)
Description copied from interface:GraphВозвращает ребра из вершины А- Specified by:
edgesOfNodeAin interfaceGraph<N,E>- Parameters:
nodeA- Вершина А- Returns:
- Ребра
-
edgesOfNodeB
public Iterable<Edge<N,E>> edgesOfNodeB(N nodeB)
Description copied from interface:GraphВозвращает ребра из вершины Б- Specified by:
edgesOfNodeBin interfaceGraph<N,E>- Parameters:
nodeB- Вершина Б- Returns:
- Ребра
-
clearEdges
public void clearEdges()
Description copied from interface:GraphУдаляет все ребра- Specified by:
clearEdgesin interfaceGraph<N,E>
-
clearAll
public void clearAll()
Description copied from interface:GraphУдалес все ребра и вершины
-
hasEdge
public boolean hasEdge(N a, N b)
Description copied from interface:GraphПроверка наличия ребра между вершинами
-
removeEdge
public void removeEdge(N a, N b)
Description copied from interface:GraphУдаление ребра- Specified by:
removeEdgein interfaceGraph<N,E>- Parameters:
a- Вершина Аb- Вершина Б
-
getEdge
public E getEdge(N a, N b)
Description copied from interface:GraphВозвращает ребро между вершинами
-
setEdge
public void setEdge(N a, N b, E edge)
Description copied from interface:GraphУстановка ребра между вершинами
-
getEdges
public Iterable<E> getEdges(N a, N b)
Description copied from interface:GraphВозвращает ребра между вершинами
-
setEdges
public void setEdges(N a, N b, Iterable<E> edges)
Description copied from interface:GraphУстановка ребр между вершинами
-
get
public E get(N a, N b)
Description copied from interface:SingleGraphВозвращает ребро между вершинами- Specified by:
getin interfaceSingleGraph<N,E>- Parameters:
a- Вершина Аb- Вершина Б- Returns:
- Ребро
-
set
public void set(N a, N b, E e)
Description copied from interface:SingleGraphУстанавливает/Сбрасывает ребро между вершинами- Specified by:
setin interfaceSingleGraph<N,E>- Parameters:
a- Вершина Аb- Вершина Бe- Ребро
-
-