Я предлагаю использовать списки смежности для графиков.
Самый простой способ - создать класс Vertex
, который содержит список ArrayList<Vertex>
ссылок на смежные вершины. Этого достаточно для представления любого графика, вам не нужен отдельный класс Edge
.
Вы можете добавить любые другие атрибуты данных, которые вам нравятся, в класс вершин, но список ссылок - это все, что вам строго нужно.
Обратите внимание, что у вас могут быть либо направленные ребра (односторонние ссылки), либо неориентированные ребра (смежные вершины указывают друг на друга).