Я использую jgrapht
в Java
для работы сетевого алгоритма. Сначала я читаю список смежности, а затем создаю граф на основе jgrapht
. Теперь, учитывая подмножество узлов с именем subNodes
, я хотел бы создать подграф. Я пытаюсь использовать класс Subgraph
, как показано в этой ссылке Однако у меня не могло получиться так, чтобы это сработало.
import org.jgrapht.*;
import org.jgrapht.graph.*;
......
HashMap<Integer, HashSet<Integer>> adjacencyList = new HashMap<Integer, HashSet<Integer>>();
\\fill out adjacency list
\\create your graph
Graph<Integer, DefaultEdge> myGraph = new SimpleGraph<>(DefaultEdge.class);
int numNodes = ...;
for(int i = 0 ; i <numNodes; i++)
myGraph.addVertex(i);
for(int i = 0 ; i< numNodes; i++) {
if(adjacencyList.get(i) != null) {
for(Integer j : adjacencyList.get(i)) {
myGraph.addEdge(i, j);
}
}
}
Set<Integer> subNodes = new HashSet<Integer>();
\\generate a sub set of vertices to have a subgprah
Аналогичный пост находится здесь, но это также нет помощи.