Я построил этот график и класс Vertex, в котором хранятся строки. Мне удалось сделать TopoSort для целых, но я не могу понять, как это сделать со строками или как конвертировать, как бы я написал Topo-Sort для этого кода?
public class Graph extends Vertex {
//creates a map of the adjacent vertices
public Map<Vertex, List<Vertex>> adjVertices;
Graph() {
this.adjVertices = new HashMap<>();
}
void addVertex(String label) {
adjVertices.putIfAbsent(new Vertex(label), new ArrayList<>());
}
void addEdge(String label1, String label2) {
Vertex v1 = new Vertex(label1);
Vertex v2 = new Vertex(label2);
if (adjVertices.get(v1) != null) {
adjVertices.get(v1).add(v2);
}
if (adjVertices.get(v2) != null) {
adjVertices.get(v2).add(v1);
}
}
public int getSize() {
return adjVertices.size();
}
}