com.google.common.graph.Network.outEdges()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(8.5k)|赞(0)|评价(0)|浏览(108)

本文整理了Java中com.google.common.graph.Network.outEdges()方法的一些代码示例,展示了Network.outEdges()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Network.outEdges()方法的具体详情如下:
包路径:com.google.common.graph.Network
类名称:Network
方法名:outEdges

Network.outEdges介绍

[英]Returns all edges in this network which can be traversed in the direction (if any) of the edge starting from node.

In a directed network, an outgoing edge's EndpointPair#source() equals node.

In an undirected network, this is equivalent to #incidentEdges(Object).
[中]返回此网络中可以从节点开始沿边的方向(如果有)遍历的所有边。
在有向网络中,传出边缘的端点对#source()等于node。
在无向网络中,这相当于#意外边(对象)。

代码示例

代码示例来源:origin: google/guava

@Override
public Set<E> outEdges(N node) {
 return network.outEdges(node);
}

代码示例来源:origin: google/guava

@Override
public Set<E> inEdges(N node) {
 return delegate().outEdges(node); // transpose
}

代码示例来源:origin: google/guava

@Override
public Set<E> outEdges(N node) {
 return delegate().outEdges(node);
}

代码示例来源:origin: google/j2objc

@Override
public Set<E> inEdges(N node) {
 return delegate().outEdges(node); // transpose
}

代码示例来源:origin: google/j2objc

@Override
public Set<E> outEdges(N node) {
 return delegate().outEdges(node);
}

代码示例来源:origin: wildfly/wildfly

@Override
public Set<E> outEdges(N node) {
 return delegate().outEdges(node);
}

代码示例来源:origin: wildfly/wildfly

@Override
public Set<E> inEdges(N node) {
 return delegate().outEdges(node); // transpose
}

代码示例来源:origin: google/guava

/**
 * Returns the subgraph of {@code network} induced by {@code nodes}. This subgraph is a new graph
 * that contains all of the nodes in {@code nodes}, and all of the {@link Network#edges() edges}
 * from {@code network} for which the {@link Network#incidentNodes(Object) incident nodes} are
 * both contained by {@code nodes}.
 *
 * @throws IllegalArgumentException if any element in {@code nodes} is not a node in the graph
 */
public static <N, E> MutableNetwork<N, E> inducedSubgraph(
  Network<N, E> network, Iterable<? extends N> nodes) {
 MutableNetwork<N, E> subgraph =
   (nodes instanceof Collection)
     ? NetworkBuilder.from(network).expectedNodeCount(((Collection) nodes).size()).build()
     : NetworkBuilder.from(network).build();
 for (N node : nodes) {
  subgraph.addNode(node);
 }
 for (N node : subgraph.nodes()) {
  for (E edge : network.outEdges(node)) {
   N successorNode = network.incidentNodes(edge).adjacentNode(node);
   if (subgraph.nodes().contains(successorNode)) {
    subgraph.addEdge(node, successorNode, edge);
   }
  }
 }
 return subgraph;
}

代码示例来源:origin: google/guava

private static <N, E> NetworkConnections<N, E> connectionsOf(Network<N, E> network, N node) {
 if (network.isDirected()) {
  Map<E, N> inEdgeMap = Maps.asMap(network.inEdges(node), sourceNodeFn(network));
  Map<E, N> outEdgeMap = Maps.asMap(network.outEdges(node), targetNodeFn(network));
  int selfLoopCount = network.edgesConnecting(node, node).size();
  return network.allowsParallelEdges()
    ? DirectedMultiNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount)
    : DirectedNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount);
 } else {
  Map<E, N> incidentEdgeMap =
    Maps.asMap(network.incidentEdges(node), adjacentNodeFn(network, node));
  return network.allowsParallelEdges()
    ? UndirectedMultiNetworkConnections.ofImmutable(incidentEdgeMap)
    : UndirectedNetworkConnections.ofImmutable(incidentEdgeMap);
 }
}

代码示例来源:origin: wildfly/wildfly

/**
 * Returns the subgraph of {@code network} induced by {@code nodes}. This subgraph is a new graph
 * that contains all of the nodes in {@code nodes}, and all of the {@link Network#edges() edges}
 * from {@code network} for which the {@link Network#incidentNodes(Object) incident nodes} are
 * both contained by {@code nodes}.
 *
 * @throws IllegalArgumentException if any element in {@code nodes} is not a node in the graph
 */
public static <N, E> MutableNetwork<N, E> inducedSubgraph(
  Network<N, E> network, Iterable<? extends N> nodes) {
 MutableNetwork<N, E> subgraph =
   (nodes instanceof Collection)
     ? NetworkBuilder.from(network).expectedNodeCount(((Collection) nodes).size()).build()
     : NetworkBuilder.from(network).build();
 for (N node : nodes) {
  subgraph.addNode(node);
 }
 for (N node : subgraph.nodes()) {
  for (E edge : network.outEdges(node)) {
   N successorNode = network.incidentNodes(edge).adjacentNode(node);
   if (subgraph.nodes().contains(successorNode)) {
    subgraph.addEdge(node, successorNode, edge);
   }
  }
 }
 return subgraph;
}

代码示例来源:origin: google/j2objc

private static class TransposedNetwork<N, E> extends ForwardingNetwork<N, E> {
 private final Network<N, E> network;
 TransposedNetwork(Network<N, E> network) {
  this.network = network;
 }
 @Override
 protected Network<N, E> delegate() {
  return network;
 }
 @Override
 public Set<N> predecessors(N node) {
  return delegate().successors(node); // transpose
 }
 @Override
 public Set<N> successors(N node) {
  return delegate().predecessors(node); // transpose
 }
 @Override
 public int inDegree(N node) {
  return delegate().outDegree(node); // transpose
 }
 @Override
 public int outDegree(N node) {
  return delegate().inDegree(node); // transpose

代码示例来源:origin: google/j2objc

private static <N, E> NetworkConnections<N, E> connectionsOf(Network<N, E> network, N node) {
 if (network.isDirected()) {
  Map<E, N> inEdgeMap = Maps.asMap(network.inEdges(node), sourceNodeFn(network));
  Map<E, N> outEdgeMap = Maps.asMap(network.outEdges(node), targetNodeFn(network));
  int selfLoopCount = network.edgesConnecting(node, node).size();
  return network.allowsParallelEdges()
    ? DirectedMultiNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount)
    : DirectedNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount);
 } else {
  Map<E, N> incidentEdgeMap =
    Maps.asMap(network.incidentEdges(node), adjacentNodeFn(network, node));
  return network.allowsParallelEdges()
    ? UndirectedMultiNetworkConnections.ofImmutable(incidentEdgeMap)
    : UndirectedNetworkConnections.ofImmutable(incidentEdgeMap);
 }
}

代码示例来源:origin: wildfly/wildfly

private static <N, E> NetworkConnections<N, E> connectionsOf(Network<N, E> network, N node) {
 if (network.isDirected()) {
  Map<E, N> inEdgeMap = Maps.asMap(network.inEdges(node), sourceNodeFn(network));
  Map<E, N> outEdgeMap = Maps.asMap(network.outEdges(node), targetNodeFn(network));
  int selfLoopCount = network.edgesConnecting(node, node).size();
  return network.allowsParallelEdges()
    ? DirectedMultiNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount)
    : DirectedNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount);
 } else {
  Map<E, N> incidentEdgeMap =
    Maps.asMap(network.incidentEdges(node), adjacentNodeFn(network, node));
  return network.allowsParallelEdges()
    ? UndirectedMultiNetworkConnections.ofImmutable(incidentEdgeMap)
    : UndirectedNetworkConnections.ofImmutable(incidentEdgeMap);
 }
}

代码示例来源:origin: google/guava

assertThat(network.successors(nodeU)).contains(nodeV);
assertThat(network.adjacentNodes(nodeU)).contains(nodeV);
assertThat(network.outEdges(nodeU)).contains(edge);
assertThat(network.incidentEdges(nodeU)).contains(edge);
assertThat(network.predecessors(nodeV)).contains(nodeU);
   .isEqualTo(network.inDegree(node) + network.outDegree(node));
 assertThat(network.inEdges(node)).hasSize(network.inDegree(node));
 assertThat(network.outEdges(node)).hasSize(network.outDegree(node));
} else {
 assertThat(network.predecessors(node)).isEqualTo(network.adjacentNodes(node));
 assertThat(network.successors(node)).isEqualTo(network.adjacentNodes(node));
 assertThat(network.inEdges(node)).isEqualTo(network.incidentEdges(node));
 assertThat(network.outEdges(node)).isEqualTo(network.incidentEdges(node));
 assertThat(network.inDegree(node)).isEqualTo(network.degree(node));
 assertThat(network.outDegree(node)).isEqualTo(network.degree(node));
 if (network.isDirected() || !isSelfLoop) {
  assertThat(edgesConnecting)
    .isEqualTo(Sets.intersection(network.outEdges(node), network.inEdges(otherNode)));
  assertThat(network.incidentNodes(edge))
    .isEqualTo(EndpointPair.of(network, node, otherNode));
  assertThat(network.outEdges(node)).contains(edge);
  assertThat(network.inEdges(otherNode)).contains(edge);
 assertTrue(
   network.inEdges(node).contains(incidentEdge)
     || network.outEdges(node).contains(incidentEdge));

代码示例来源:origin: com.io7m.jgrapht/jgrapht-guava

@Override
public Set<E> outgoingEdgesOf(V vertex)
{
  return network.outEdges(vertex);
}

代码示例来源:origin: com.google.guava/guava-tests

@Override
public Set<E> outEdges(N node) {
 return network.outEdges(node);
}

代码示例来源:origin: org.jboss.eap/wildfly-client-all

@Override
public Set<E> inEdges(N node) {
 return delegate().outEdges(node); // transpose
}

代码示例来源:origin: org.kill-bill.billing/killbill-platform-osgi-bundles-logger

@Override
public Set<E> inEdges(N node) {
 return delegate().outEdges(node); // transpose
}

代码示例来源:origin: org.jboss.eap/wildfly-client-all

@Override
public Set<E> outEdges(N node) {
 return delegate().outEdges(node);
}

代码示例来源:origin: org.kill-bill.billing/killbill-platform-osgi-bundles-logger

@Override
public Set<E> outEdges(N node) {
 return delegate().outEdges(node);
}

相关文章