Какую структуру данных мне нужно использовать для построения минимального связующего дерева в Java?

У меня есть класс Node похож на класс Java Point с x а также y координаты, которые я рисую на JPanel, Я пытаюсь создать минимальное остовное дерево для набора таких узлов на евклидовом графе, которое я бы затем нарисовал на панели. Но я не могу понять структуру данных, которая мне понадобится для эффективного создания дерева.

Я пытался использовать LinkedLists а также ArrayLists реализовать алгоритм Прима, но они, кажется, усложняют ситуацию. Какую структуру данных я должен изучить для этого вместо этого?

1 ответ

Решение

График может быть представлен списком смежности. Я вообще пользуюсь Vector создавать списки смежности. С ними очень удобно обращаться. Также используйте PriorityQueue чтобы получить минимальную стоимость пути.

Другие вопросы по тегам