本文整理了Java中com.google.common.graph.Network.isDirected()
方法的一些代码示例,展示了Network.isDirected()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Network.isDirected()
方法的具体详情如下:
包路径:com.google.common.graph.Network
类名称:Network
方法名:isDirected
[英]Returns true if the edges in this network are directed. Directed edges connect a EndpointPair#source() to a EndpointPair#target(), while undirected edges connect a pair of nodes to each other.
[中]如果网络中的边是有向的,则返回true。有向边将端点对#源()连接到端点对#目标(),而无向边将一对节点彼此连接。
代码示例来源:origin: google/guava
@Override
public boolean isDirected() {
return network.isDirected();
}
代码示例来源:origin: google/guava
@Override
public boolean isDirected() {
return delegate().isDirected();
}
代码示例来源:origin: google/guava
/**
* Returns a view of {@code network} with the direction (if any) of every edge reversed. All other
* properties remain intact, and further updates to {@code network} will be reflected in the view.
*/
public static <N, E> Network<N, E> transpose(Network<N, E> network) {
if (!network.isDirected()) {
return network; // the transpose of an undirected network is an identical network
}
if (network instanceof TransposedNetwork) {
return ((TransposedNetwork<N, E>) network).network;
}
return new TransposedNetwork<>(network);
}
代码示例来源:origin: google/j2objc
/**
* Returns a view of {@code network} with the direction (if any) of every edge reversed. All other
* properties remain intact, and further updates to {@code network} will be reflected in the view.
*/
public static <N, E> Network<N, E> transpose(Network<N, E> network) {
if (!network.isDirected()) {
return network; // the transpose of an undirected network is an identical network
}
if (network instanceof TransposedNetwork) {
return ((TransposedNetwork<N, E>) network).network;
}
return new TransposedNetwork<>(network);
}
代码示例来源:origin: google/j2objc
@Override
public boolean isDirected() {
return delegate().isDirected();
}
代码示例来源:origin: google/guava
/** Returns an {@link EndpointPair} representing the endpoints of an edge in {@code network}. */
static <N> EndpointPair<N> of(Network<?, ?> network, N nodeU, N nodeV) {
return network.isDirected() ? ordered(nodeU, nodeV) : unordered(nodeU, nodeV);
}
代码示例来源:origin: wildfly/wildfly
/**
* Returns a view of {@code network} with the direction (if any) of every edge reversed. All other
* properties remain intact, and further updates to {@code network} will be reflected in the view.
*/
public static <N, E> Network<N, E> transpose(Network<N, E> network) {
if (!network.isDirected()) {
return network; // the transpose of an undirected network is an identical network
}
if (network instanceof TransposedNetwork) {
return ((TransposedNetwork<N, E>) network).network;
}
return new TransposedNetwork<>(network);
}
代码示例来源:origin: wildfly/wildfly
@Override
public boolean isDirected() {
return delegate().isDirected();
}
代码示例来源:origin: google/j2objc
/** Returns an {@link EndpointPair} representing the endpoints of an edge in {@code network}. */
static <N> EndpointPair<N> of(Network<?, ?> network, N nodeU, N nodeV) {
return network.isDirected() ? ordered(nodeU, nodeV) : unordered(nodeU, nodeV);
}
代码示例来源:origin: google/guava
@Override
public final boolean equals(@Nullable Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof Network)) {
return false;
}
Network<?, ?> other = (Network<?, ?>) obj;
return isDirected() == other.isDirected()
&& nodes().equals(other.nodes())
&& edgeIncidentNodesMap(this).equals(edgeIncidentNodesMap(other));
}
代码示例来源:origin: wildfly/wildfly
/** Returns an {@link EndpointPair} representing the endpoints of an edge in {@code network}. */
static <N> EndpointPair<N> of(Network<?, ?> network, N nodeU, N nodeV) {
return network.isDirected() ? ordered(nodeU, nodeV) : unordered(nodeU, nodeV);
}
代码示例来源:origin: google/guava
/**
* Returns true if {@code network} has at least one cycle. A cycle is defined as a non-empty
* subset of edges in a graph arranged to form a path (a sequence of adjacent outgoing edges)
* starting and ending with the same node.
*
* <p>This method will detect any non-empty cycle, including self-loops (a cycle of length 1).
*/
public static boolean hasCycle(Network<?, ?> network) {
// In a directed graph, parallel edges cannot introduce a cycle in an acyclic graph.
// However, in an undirected graph, any parallel edge induces a cycle in the graph.
if (!network.isDirected()
&& network.allowsParallelEdges()
&& network.edges().size() > network.asGraph().edges().size()) {
return true;
}
return hasCycle(network.asGraph());
}
代码示例来源:origin: google/j2objc
@Override
public final boolean equals(@NullableDecl Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof Network)) {
return false;
}
Network<?, ?> other = (Network<?, ?>) obj;
return isDirected() == other.isDirected()
&& nodes().equals(other.nodes())
&& edgeIncidentNodesMap(this).equals(edgeIncidentNodesMap(other));
}
代码示例来源:origin: google/j2objc
/**
* Returns true if {@code network} has at least one cycle. A cycle is defined as a non-empty
* subset of edges in a graph arranged to form a path (a sequence of adjacent outgoing edges)
* starting and ending with the same node.
*
* <p>This method will detect any non-empty cycle, including self-loops (a cycle of length 1).
*/
public static boolean hasCycle(Network<?, ?> network) {
// In a directed graph, parallel edges cannot introduce a cycle in an acyclic graph.
// However, in an undirected graph, any parallel edge induces a cycle in the graph.
if (!network.isDirected()
&& network.allowsParallelEdges()
&& network.edges().size() > network.asGraph().edges().size()) {
return true;
}
return hasCycle(network.asGraph());
}
代码示例来源:origin: wildfly/wildfly
@Override
public final boolean equals(@NullableDecl Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof Network)) {
return false;
}
Network<?, ?> other = (Network<?, ?>) obj;
return isDirected() == other.isDirected()
&& nodes().equals(other.nodes())
&& edgeIncidentNodesMap(this).equals(edgeIncidentNodesMap(other));
}
代码示例来源:origin: google/guava
/**
* Returns a {@link NetworkBuilder} initialized with all properties queryable from {@code
* network}.
*
* <p>The "queryable" properties are those that are exposed through the {@link Network} interface,
* such as {@link Network#isDirected()}. Other properties, such as {@link
* #expectedNodeCount(int)}, are not set in the new builder.
*/
public static <N, E> NetworkBuilder<N, E> from(Network<N, E> network) {
return new NetworkBuilder<N, E>(network.isDirected())
.allowsParallelEdges(network.allowsParallelEdges())
.allowsSelfLoops(network.allowsSelfLoops())
.nodeOrder(network.nodeOrder())
.edgeOrder(network.edgeOrder());
}
代码示例来源: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: google/j2objc
/**
* Returns a {@link NetworkBuilder} initialized with all properties queryable from {@code
* network}.
*
* <p>The "queryable" properties are those that are exposed through the {@link Network} interface,
* such as {@link Network#isDirected()}. Other properties, such as {@link
* #expectedNodeCount(int)}, are not set in the new builder.
*/
public static <N, E> NetworkBuilder<N, E> from(Network<N, E> network) {
return new NetworkBuilder<N, E>(network.isDirected())
.allowsParallelEdges(network.allowsParallelEdges())
.allowsSelfLoops(network.allowsSelfLoops())
.nodeOrder(network.nodeOrder())
.edgeOrder(network.edgeOrder());
}
代码示例来源:origin: wildfly/wildfly
/**
* Returns a {@link NetworkBuilder} initialized with all properties queryable from {@code
* network}.
*
* <p>The "queryable" properties are those that are exposed through the {@link Network} interface,
* such as {@link Network#isDirected()}. Other properties, such as {@link
* #expectedNodeCount(int)}, are not set in the new builder.
*/
public static <N, E> NetworkBuilder<N, E> from(Network<N, E> network) {
return new NetworkBuilder<N, E>(network.isDirected())
.allowsParallelEdges(network.allowsParallelEdges())
.allowsSelfLoops(network.allowsSelfLoops())
.nodeOrder(network.nodeOrder())
.edgeOrder(network.edgeOrder());
}
代码示例来源: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);
}
}
内容来源于网络,如有侵权,请联系作者删除!