gpt4 book ai didi

java - 如何在jgrapht DirectedAcyclingGraph中找到根和叶集

转载 作者:行者123 更新时间:2023-11-30 01:48:10 38 4
gpt4 key购买 nike

我的代码:

import org.jgrapht.graph.DirectedAcyclicGraph;
// ...
private DirectedAcyclicGraph<String, DefaultEdge> graph = new DirectedAcyclicGraph<>(DefaultEdge.class);
// ...
graph.addVertex("x");
graph.addVertex("y");
// ...
graph.addEdge("x", "y");

构造图后,如何获得所有根(没有传入边的顶点)和所有叶子(没有传出边的顶点)的集合

最佳答案

以下内容有效,但我认为并不是最有效的。

// leaves:
graph.vertexSet().stream()
.filter(key -> graph.outgoingEdgesOf(key).size() == 0)
.forEach(key -> doLeavesStuff(key));

// roots:
graph.vertexSet().stream()
.filter(key -> graph.incomingEdgesOf(key).size() == 0)
.forEach(key -> doRootsStuff(key));

关于java - 如何在jgrapht DirectedAcyclingGraph中找到根和叶集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57134161/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com