Class FastUndirectedWeightedMultiGraph<U>
java.lang.Object
es.uam.eps.ir.relison.graph.multigraph.fast.AbstractFastMultiGraph<U>
es.uam.eps.ir.relison.graph.multigraph.fast.FastUndirectedWeightedMultiGraph<U>
- Type Parameters:
U
- type of the nodes
- All Implemented Interfaces:
FastGraph<U>
,Graph<U>
,FastMultiGraph<U>
,MultiGraph<U>
,UndirectedMultiGraph<U>
,UndirectedWeightedMultiGraph<U>
,WeightedMultiGraph<U>
,UndirectedGraph<U>
,WeightedGraph<U>
,ReducedIndex<U>
,java.io.Serializable
public class FastUndirectedWeightedMultiGraph<U> extends AbstractFastMultiGraph<U> implements UndirectedWeightedMultiGraph<U>
Fast implementation for an Undirected Weighted multigraph.
- 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 FastUndirectedWeightedMultiGraph()
Constructor for an empty graph -
Method Summary
Modifier and Type Method Description double[][]
getAdjacencyMatrix(EdgeOrientation direction)
Gets the adjacency matrix.no.uib.cipr.matrix.Matrix
getAdjacencyMatrixMTJ(EdgeOrientation direction)
Builds the matrix for the MTJ framework.java.util.stream.Stream<Weight<U,java.lang.Double>>
getAdjacentMutualNodesWeights(U node)
Given a node, finds the weights 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.Double>>
getIncidentMutualNodesWeights(U node)
Given a node, finds the weights of the edges from 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.Double>>
getMutualNodesWeights(U node)
Given a node, finds the weights of the edges towards and 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.Graph
addEdge, addEdge, addEdge, addEdge, addEdge, addEdge, addNode, complement, containsEdge, containsVertex, getAdjacencyMatrixMap, getAdjacentNodesCount, getAllNodes, getEdgeCount, getEdgeType, getEdgeWeight, getIncidentNodesCount, getIsolatedNodes, getNeighbourNodes, getNeighbourNodesCount, getNeighbourNodesTypes, getNodesWithAdjacentNeighbors, getNodesWithIncidentNeighbors, getNodesWithMutualNeighbors, getNodesWithNeighbors, getNodesWithNeighbors, getVertexCount, hasAdjacentNeighbors, hasIncidentNeighbors, hasMutualNeighbors, hasNeighbors, hasNeighbors, removeEdge, removeNode, updateEdgeType, updateEdgeWeight
Methods inherited from interface es.uam.eps.ir.relison.graph.multigraph.MultiGraph
getEdgeTypes, getEdgeWeights, getNeighbourNodesTypesLists, getNumEdges, isMultigraph, removeEdge, removeEdges, updateEdgeWeight
Methods inherited from interface es.uam.eps.ir.relison.graph.UndirectedGraph
degree, getAdjacentEdgesCount, getAdjacentMutualNodesTypes, getAdjacentNodes, getIncidentEdgesCount, getIncidentMutualNodesTypes, getIncidentNodes, getMutualEdgesCount, getMutualNodes, getMutualNodesCount, getMutualNodesTypes, getNeighbourEdgesCount, getNeighbourhood, getNeighbourhoodSize, inDegree, isDirected, isMutual, mutualDegree, outDegree
Methods inherited from interface es.uam.eps.ir.relison.graph.multigraph.UndirectedMultiGraph
degree, getAdjacentNodesTypes, getAdjacentNodesTypesLists, getIncidentNodesTypes, getIncidentNodesTypesLists, getNeighbourhoodTypes, getNeighbourhoodTypesLists
Methods inherited from interface es.uam.eps.ir.relison.graph.multigraph.UndirectedWeightedMultiGraph
getAdjacentNodesWeights, getAdjacentNodesWeightsLists, getIncidentNodesWeights, getIncidentNodesWeightsLists, getNeighbourhoodWeights, getNeighbourhoodWeightsLists, getNeighbourNodesWeights, getNeighbourNodesWeightsLists
-
Constructor Details
-
FastUndirectedWeightedMultiGraph
public FastUndirectedWeightedMultiGraph()Constructor for an empty graph
-
-
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.
-
getAdjacencyMatrixMTJ
Builds the matrix for the MTJ framework.- Parameters:
direction
- orientation of the edges.- Returns:
- the matrix.
-
getAdjacentMutualNodesWeights
Description copied from interface:Graph
Given a node, finds the weights 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:
getAdjacentMutualNodesWeights
in interfaceGraph<U>
- Parameters:
node
- The node.- Returns:
- A stream containing all the nodes in the neighbourhood and weights.
-
getIncidentMutualNodesWeights
Description copied from interface:Graph
Given a node, finds the weights 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:
getIncidentMutualNodesWeights
in interfaceGraph<U>
- Parameters:
node
- The node.- Returns:
- A stream containing all the nodes in the neighbourhood and weights.
-
getMutualNodesWeights
Description copied from interface:Graph
Given a node, finds the weights of the edges towards and from the nodes u such that the edge (node to u) and the edge (u to node) are in the graph. It finds the average value of the outgoing and incoming links.- Specified by:
getMutualNodesWeights
in interfaceGraph<U>
- Parameters:
node
- The node.- Returns:
- A stream containing all the nodes in the neighbourhood and weights.
-