2014-01-30 2 views
0

enter image description hereКак показать взвешенный несвязанный граф двумерному массиву (в матричной форме)?

Привет, ребята, пытаясь сделать лабораторию здесь, но я не могу понять, как вы можете показать узлы в графе (слева), в три на три матрицы (G, справа). Я не смотрю, как печатать матрицу в java.

Это говорит:

Здесь ребро между каждым узлом я и J представлен ряд , что указывает на вес края. На диаграмме, край между узлом 1 и 3 можно видеть, в строке 1, столбец 3 и имеет значение 2.

ответ

1

Каждый узел имеет индекс (начиная с 0). В этом случае Узел 1 имеет индекс 0, Узел 2 имеет индекс 1, а Узел 3 имеет индекс 2. Чтобы найти вес между узлом с индексом i и Узел с индексом j, посмотрите на G[i][j].

Например, чтобы найти вес между узлом 1 и узлом 3, вы смотрите на входе матрицы G[0][2], которая 2.

Поскольку это неориентированный граф, это не имеет значения, какой узел является start и который является концом, поэтому верхняя половина матрицы такая же, как нижняя половина.

2

В этом случае узлы являются индексы матрицы. Вы должны знать индексы на основе нуля в java, поэтому узел 1 фактически находится в позиции [0,0] и т. Д.

край между узлами 1 и 3 показан в строке 1, столбец 3 и имеет значение 2 означает, что масса кромки равна 2 и находится в [0,2], а так как график неориентирован также в [2,0].

Обратите внимание, что матрицы, представляющие неориентированные графы, транспонированы.

Смежные вопросы