Class FastDirectedWeightedMultiGraph<U>

java.lang.Object
es.uam.eps.ir.relison.graph.multigraph.fast.AbstractFastMultiGraph<U>
es.uam.eps.ir.relison.graph.multigraph.fast.FastDirectedWeightedMultiGraph<U>
Type Parameters:
U - Type of the users
All Implemented Interfaces:
DirectedGraph<U>, FastGraph<U>, Graph<U>, DirectedMultiGraph<U>, DirectedWeightedMultiGraph<U>, FastMultiGraph<U>, MultiGraph<U>, WeightedMultiGraph<U>, WeightedGraph<U>, ReducedIndex<U>, java.io.Serializable

public class FastDirectedWeightedMultiGraph<U>
extends AbstractFastMultiGraph<U>
implements DirectedWeightedMultiGraph<U>
Fast implementation of a directed weighted graph. This implementation does not allow to remove nodes/edges
See Also:
Serialized Form
  • Constructor Details

  • Method Details

    • getAdjacencyMatrix

      public double[][] getAdjacencyMatrix​(EdgeOrientation direction)
      Description copied from interface: Graph
      Gets the adjacency matrix.
      Specified by:
      getAdjacencyMatrix in interface Graph<U>
      Parameters:
      direction - The direction of the edges.
      Returns:
      the adjacency matrix.
    • getMutualNodes

      public java.util.stream.Stream<U> getMutualNodes​(U node)
      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 interface Graph<U>
      Parameters:
      node - The node.
      Returns:
      A stream containing all the nodes which share reciprocal links.
    • getMutualEdgesCount

      public int getMutualEdgesCount​(U node)
      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 interface Graph<U>
      Parameters:
      node - The node.
      Returns:
      the number of reciprocal links starting from the node.
    • getAdjacentMutualNodesWeights

      public java.util.stream.Stream<Weight<U,​java.lang.Double>> getAdjacentMutualNodesWeights​(U node)
      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 interface Graph<U>
      Parameters:
      node - The node.
      Returns:
      A stream containing all the nodes in the neighbourhood and weights.
    • getIncidentMutualNodesWeights

      public java.util.stream.Stream<Weight<U,​java.lang.Double>> getIncidentMutualNodesWeights​(U node)
      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 interface Graph<U>
      Parameters:
      node - The node.
      Returns:
      A stream containing all the nodes in the neighbourhood and weights.
    • getMutualNodesWeights

      public java.util.stream.Stream<Weight<U,​java.lang.Double>> getMutualNodesWeights​(U node)
      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 interface Graph<U>
      Parameters:
      node - The node.
      Returns:
      A stream containing all the nodes in the neighbourhood and weights.
    • getMutualNodesTypes

      public java.util.stream.Stream<Weight<U,​java.lang.Integer>> getMutualNodesTypes​(U node)
      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 interface Graph<U>
      Parameters:
      node - the node.
      Returns:
      a stream containing all the nodes in the neighbourhood and types.
    • getAdjacentMutualNodesTypes

      public java.util.stream.Stream<Weight<U,​java.lang.Integer>> getAdjacentMutualNodesTypes​(U node)
      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 interface Graph<U>
      Parameters:
      node - The node.
      Returns:
      A stream containing all the nodes in the neighbourhood and types.
    • getIncidentMutualNodesTypes

      public java.util.stream.Stream<Weight<U,​java.lang.Integer>> getIncidentMutualNodesTypes​(U node)
      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 interface Graph<U>
      Parameters:
      node - The node.
      Returns:
      A stream containing all the nodes in the neighbourhood and types.