Class FastDirectedUnweightedMultiGraph<U>
java.lang.Object
es.uam.eps.ir.relison.graph.multigraph.fast.AbstractFastMultiGraph<U>
es.uam.eps.ir.relison.graph.multigraph.fast.FastDirectedUnweightedMultiGraph<U>
- Type Parameters:
U
- Type of the nodes
- All Implemented Interfaces:
DirectedGraph<U>
,FastGraph<U>
,Graph<U>
,DirectedMultiGraph<U>
,DirectedUnweightedMultiGraph<U>
,FastMultiGraph<U>
,MultiGraph<U>
,UnweightedMultiGraph<U>
,UnweightedGraph<U>
,ReducedIndex<U>
,java.io.Serializable
public class FastDirectedUnweightedMultiGraph<U> extends AbstractFastMultiGraph<U> implements DirectedUnweightedMultiGraph<U>
Fast implementation for a directed unweighted multi-graph. This implementation does not allow removing edges.
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class es.uam.eps.ir.relison.graph.multigraph.fast.AbstractFastMultiGraph
edges, vertices
-
Constructor Summary
Constructors Constructor Description FastDirectedUnweightedMultiGraph()
Constructor. -
Method Summary
Modifier and Type Method Description double[][]
getAdjacencyMatrix(EdgeOrientation direction)
Gets the adjacency matrix.java.util.stream.Stream<Weight<U,java.lang.Integer>>
getAdjacentMutualNodesTypes(U node)
Given a node, finds the types of the edges towards the nodes u such that the edge (node to u) and the edge (u to node) are in the graph.java.util.stream.Stream<Weight<U,java.lang.Integer>>
getIncidentMutualNodesTypes(U node)
Given a node, finds the types of the edges from the nodes u such that the edge (node to u) and the edge (u to node) are in the graph.int
getMutualEdgesCount(U node)
Calculates the total number of adjacent edges of a node such that there is an incident reciprocal link towards the node.java.util.stream.Stream<U>
getMutualNodes(U node)
Given a node, finds all the nodes u such that the edges (node to u) and (u to node) are in the graph.java.util.stream.Stream<Weight<U,java.lang.Integer>>
getMutualNodesTypes(U node)
Given a node, find the types of edges from the nodes u such that the edge (node to u) and the edge (u to node) are in the graph.Methods inherited from class es.uam.eps.ir.relison.graph.multigraph.fast.AbstractFastMultiGraph
addEdge, addEdge, addNode, complement, containsEdge, containsEdge, containsVertex, getAdjacencyMatrixMap, getAdjacentEdgesCount, getAdjacentNodes, getAdjacentNodesTypes, getAdjacentNodesTypesLists, getAdjacentNodesWeights, getAdjacentNodesWeightsLists, getAllNodes, getAllNodesIds, getEdgeCount, getEdgeType, getEdgeTypes, getEdgeTypes, getEdgeWeight, getEdgeWeight, getEdgeWeights, getEdgeWeights, getIncidentEdgesCount, getIncidentNodes, getIncidentNodesTypes, getIncidentNodesTypesLists, getIncidentNodesWeights, getIncidentNodesWeightsLists, getIndex, getIsolatedNodeIds, getIsolatedNodes, getNeighborhood, getNeighborhoodTypes, getNeighborhoodWeights, getNeighbourEdgesCount, getNeighbourhood, getNeighbourhoodSize, getNeighbourhoodTypes, getNeighbourhoodTypesLists, getNeighbourhoodWeights, getNeighbourhoodWeightsLists, getNeighbourhoodWeightsLists, getNeighbourNodes, getNeighbourNodesTypes, getNeighbourNodesTypesLists, getNeighbourNodesWeights, getNeighbourNodesWeightsLists, getNodesIdsWithEdges, getNodesWithAdjacentNeighbors, getNodesWithIncidentNeighbors, getNodesWithMutualNeighbors, getNodesWithNeighbors, getNodesWithNeighbors, getNumEdges, getNumEdges, getVertexCount, hasAdjacentNeighbors, hasIncidentNeighbors, hasMutualNeighbors, hasNeighbors, idx2object, object2idx, removeEdge, removeEdge, removeEdges, removeNode, updateEdgeType, updateEdgeWeight, updateEdgeWeight, updateEdgeWeight, updateEdgeWeight
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface es.uam.eps.ir.relison.graph.DirectedGraph
degree, degree, getNeighbourEdgesCount, getNeighbourhood, getNeighbourhoodSize, getNeighbourhoodTypes, getNeighbourhoodWeights, getSinks, getSources, isDirected, mutualDegree
Methods inherited from interface es.uam.eps.ir.relison.graph.multigraph.DirectedMultiGraph
getNeighbourhoodTypesLists, getNeighbourhoodWeightsLists, inDegree, outDegree
Methods inherited from interface es.uam.eps.ir.relison.graph.Graph
addEdge, addEdge, addEdge, addEdge, addEdge, addNode, complement, containsEdge, containsVertex, getAdjacencyMatrixMap, getAdjacentEdgesCount, getAdjacentNodes, getAdjacentNodesCount, getAdjacentNodesTypes, getAllNodes, getEdgeCount, getEdgeType, getIncidentEdgesCount, getIncidentNodes, getIncidentNodesCount, getIncidentNodesTypes, getIsolatedNodes, getMutualNodesCount, getNeighbourNodes, getNeighbourNodesCount, getNeighbourNodesTypes, getNodesWithAdjacentNeighbors, getNodesWithIncidentNeighbors, getNodesWithMutualNeighbors, getNodesWithNeighbors, getNodesWithNeighbors, getVertexCount, hasAdjacentNeighbors, hasIncidentNeighbors, hasMutualNeighbors, hasNeighbors, hasNeighbors, isMutual, removeEdge, removeNode, updateEdgeType, updateEdgeWeight
Methods inherited from interface es.uam.eps.ir.relison.graph.multigraph.MultiGraph
getAdjacentNodesTypesLists, getEdgeTypes, getIncidentNodesTypesLists, getNeighbourNodesTypesLists, getNumEdges, isMultigraph, removeEdge, removeEdges, updateEdgeWeight
Methods inherited from interface es.uam.eps.ir.relison.graph.UnweightedGraph
addEdge, getAdjacentMutualNodesWeights, getAdjacentNodesWeights, getEdgeWeight, getIncidentMutualNodesWeights, getIncidentNodesWeights, getMutualNodesWeights, getNeighbourNodesWeights, isWeighted
Methods inherited from interface es.uam.eps.ir.relison.graph.multigraph.UnweightedMultiGraph
getAdjacentNodesWeightsLists, getEdgeWeights, getIncidentNodesWeightsLists, getNeighbourNodesWeightsLists
-
Constructor Details
-
FastDirectedUnweightedMultiGraph
public FastDirectedUnweightedMultiGraph()Constructor.
-
-
Method Details
-
getAdjacencyMatrix
Description copied from interface:Graph
Gets the adjacency matrix.- Specified by:
getAdjacencyMatrix
in interfaceGraph<U>
- Parameters:
direction
- The direction of the edges.- Returns:
- the adjacency matrix.
-
getMutualNodes
Description copied from interface:Graph
Given a node, finds all the nodes u such that the edges (node to u) and (u to node) are in the graph.- Specified by:
getMutualNodes
in interfaceGraph<U>
- Parameters:
node
- The node.- Returns:
- A stream containing all the nodes which share reciprocal links.
-
getMutualEdgesCount
Description copied from interface:Graph
Calculates the total number of adjacent edges of a node such that there is an incident reciprocal link towards the node.- Specified by:
getMutualEdgesCount
in interfaceGraph<U>
- Parameters:
node
- The node.- Returns:
- the number of reciprocal links starting from the node.
-
getAdjacentMutualNodesTypes
Description copied from interface:Graph
Given a node, finds the types of the edges towards the nodes u such that the edge (node to u) and the edge (u to node) are in the graph.- Specified by:
getAdjacentMutualNodesTypes
in interfaceGraph<U>
- Parameters:
node
- The node.- Returns:
- A stream containing all the nodes in the neighbourhood and types.
-
getIncidentMutualNodesTypes
Description copied from interface:Graph
Given a node, finds the types of the edges from the nodes u such that the edge (node to u) and the edge (u to node) are in the graph.- Specified by:
getIncidentMutualNodesTypes
in interfaceGraph<U>
- Parameters:
node
- The node.- Returns:
- A stream containing all the nodes in the neighbourhood and types.
-
getMutualNodesTypes
Description copied from interface:Graph
Given a node, find the types of edges from the nodes u such that the edge (node to u) and the edge (u to node) are in the graph.- Specified by:
getMutualNodesTypes
in interfaceGraph<U>
- Parameters:
node
- the node.- Returns:
- a stream containing all the nodes in the neighbourhood and types.
-