Ссылаясь на алгоритм Крускала в Аде, я не уверен, с чего начать.
Я пытаюсь все обдумать, прежде чем писать программу, но довольно растерялся относительно того, какие структуры данных мне следует использовать и как представлять все.
Моя первоначальная мысль состоит в том, чтобы представить полное дерево в списке смежности, но, читая Википедию, алгоритм утверждает, что create a forest F (a set of trees), where each vertex in the graph is a separate tree
, и я не уверен, как реализовать это, не очень быстро запутавшись.
Следующее, что он говорит, это сделать create a set S containing all the edges in the graph
, но еще раз, я не уверен, что будет лучшим способом сделать это. Я думал о массиве записей с to
, from
и weight
, но я потерялся на forest
.
Наконец, я пытаюсь выяснить, как бы я узнал, соединяет ли ребро два дерева, но опять же не уверен, как лучше всего это сделать.