Class FastDirectedUnweightedEdges

java.lang.Object
es.uam.eps.ir.relison.graph.edges.fast.FastEdges
es.uam.eps.ir.relison.graph.edges.fast.FastDirectedUnweightedEdges
All Implemented Interfaces:
DirectedEdges, Edges, UnweightedEdges

public class FastDirectedUnweightedEdges
extends FastEdges
implements DirectedEdges, UnweightedEdges
Fast implementation of directed unweighted edges.
  • Constructor Details

  • Method Details

    • getIncidentNodes

      public java.util.stream.Stream<java.lang.Integer> getIncidentNodes​(int node)
      Description copied from interface: Edges
      Gets the incoming neighbourhood of a node.
      Specified by:
      getIncidentNodes in interface Edges
      Parameters:
      node - The node.
      Returns:
      a stream of all the ids of nodes.
    • getAdjacentNodes

      public java.util.stream.Stream<java.lang.Integer> getAdjacentNodes​(int node)
      Description copied from interface: Edges
      Gets the outgoing neighbourhood of a node.
      Specified by:
      getAdjacentNodes in interface Edges
      Parameters:
      node - The node.
      Returns:
      a stream containing all the ids of the nodes.
    • getIncidentTypes

      public java.util.stream.Stream<EdgeType> getIncidentTypes​(int node)
      Description copied from interface: Edges
      Gets the types of the incident edges of a node.
      Specified by:
      getIncidentTypes in interface Edges
      Parameters:
      node - The node.
      Returns:
      a stream containing all the edge types.
    • getAdjacentTypes

      public java.util.stream.Stream<EdgeType> getAdjacentTypes​(int node)
      Description copied from interface: Edges
      Gets the types of the adjacent edges of a node.
      Specified by:
      getAdjacentTypes in interface Edges
      Parameters:
      node - The node.
      Returns:
      a stream containing all the edge types.
    • getNeighbourWeights

      public java.util.stream.Stream<es.uam.eps.ir.ranksys.fast.preference.IdxPref> getNeighbourWeights​(int node)
      Description copied from interface: Edges
      Gets the weights of the neighbour edges of a node.
      Specified by:
      getNeighbourWeights in interface DirectedEdges
      Specified by:
      getNeighbourWeights in interface Edges
      Specified by:
      getNeighbourWeights in interface UnweightedEdges
      Parameters:
      node - The node.
      Returns:
      a sream containing all the edge types.
    • addEdge

      public boolean addEdge​(int orig, int dest, double weight, int type)
      Description copied from interface: Edges
      Adds an edge to the set.
      Specified by:
      addEdge in interface Edges
      Parameters:
      orig - Source node.
      dest - Incoming node.
      weight - Weight of the edge.
      type - Type of the edge.
      Returns:
      true if everything went OK, false if not.
    • updateEdgeWeight

      public boolean updateEdgeWeight​(int orig, int dest, double weight)
      Description copied from interface: Edges
      Modifies the weight of an edge.
      Specified by:
      updateEdgeWeight in interface Edges
      Parameters:
      orig - Source node.
      dest - Incoming node.
      weight - The new weight of the edge.
      Returns:
      true if everything went OK, false if not, or the edge does not exist.
    • updateEdgeType

      public boolean updateEdgeType​(int orig, int dest, int type)
      Description copied from interface: Edges
      Modifies the weight of an edge.
      Specified by:
      updateEdgeType in interface Edges
      Parameters:
      orig - Source node.
      dest - Incoming node.
      type - The new weight of the edge.
      Returns:
      true if everything went OK, false if not, or the edge does not exist.
    • removeNode

      public boolean removeNode​(int idx)
      Description copied from interface: Edges
      Removes a node from the edge list.
      Specified by:
      removeNode in interface Edges
      Parameters:
      idx - The identifier of the node.
      Returns:
      true if everything went OK, false otherwise.
    • removeEdge

      public boolean removeEdge​(int orig, int dest)
      Description copied from interface: Edges
      Removes an edge.
      Specified by:
      removeEdge in interface Edges
      Parameters:
      orig - Source node.
      dest - Incoming node.
      Returns:
      true if everything went OK, false if not.
    • getNodesWithIncidentEdges

      public java.util.stream.IntStream getNodesWithIncidentEdges()
      Description copied from interface: Edges
      Obtains the set of nodes which have incident edges.
      Specified by:
      getNodesWithIncidentEdges in interface Edges
      Returns:
      a stream containing the ids of nodes with incident edges.
    • getNodesWithAdjacentEdges

      public java.util.stream.IntStream getNodesWithAdjacentEdges()
      Description copied from interface: Edges
      Obtains the set of nodes which have adjacent edges.
      Specified by:
      getNodesWithAdjacentEdges in interface Edges
      Returns:
      a stream containing the ids of nodes with incident edges.
    • getNodesWithEdges

      public java.util.stream.IntStream getNodesWithEdges()
      Description copied from interface: Edges
      Obtains the set of nodes which have edges.
      Specified by:
      getNodesWithEdges in interface Edges
      Returns:
      a stream containing the ids of nodes with incident edges.
    • getNodesWithMutualEdges

      public java.util.stream.IntStream getNodesWithMutualEdges()
      Description copied from interface: Edges
      Obtains the set of nodes which have, at least, a reciprocal edge.
      Specified by:
      getNodesWithMutualEdges in interface Edges
      Returns:
      a stream containing the ids of nodes with reciprocal edges.