Создание графа из двух List
Я пробую создать граф из двух листов.
У меня есть два листа.
Первый список книг выглядит как:
{"AA", "AB", "AC"}
Второй:
{"AA", "AB"}, {"AA", "AC"}
Я написал такой код:
int i = 0;
for (String librari : librariesList) {
int j = 0;
for (String dependencies: librariesDependencies) {
if(librari.equals(dependencies)) {
graph.addEdge(i, j);
System.out.println(i + " " + j);
}
j++;
}
i++;
}
Но понимаю что он не рабочий, так как он будет строить граф вида:
0 0
0 2
1 1
2 3
А не такой:
0 1
0 2
Что нужно исправить для получения правильного ответа?
Ответы (1 шт):
Автор решения: Alexandr
→ Ссылка
Один из вариантов:
package com.somepackage;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> vertices = List.of("AA", "AB", "AC");
List<String> edges = List.of("AA", "AB", "AA", "AC");
for (int j = 0; j < edges.size() / 2; j++) {
System.out.println(
vertices.indexOf(edges.get(2 * j)) + " " +
vertices.indexOf(edges.get(2 * j + 1)));
}
}
}