Есть ли способ превратить простую матрицу в график?

Например, у меня есть такая матрица;

1 2 3 4
2 4 5 1
1 2 4 1
5 3 2 1

и я выбираю 3 узла из этой матрицы как случайные. Как я могу сделать график из этих узлов? Есть ли какой-нибудь алгоритм или способ сделать это? Я знаю, как сделать матрицу смежности из графа, но я просто не могу сделать граф из случайной матрицы прямо сейчас.

РЕДАКТИРОВАТЬ:

Например, я выбираю строку: 1 столбец: 1 в качестве первого узла и строку: 3 столбца: 1 в качестве второго узла, он должен найти кратчайший путь между первым узлом и вторым узлом и составить их график.

0

Решение

Я предполагаю, что эта матрица 4×4 представляет матрицу смежности из графа с 4 узлами. В этом случае выбор случайным образом 3 узлов означал бы выбор 3 случайных линий и использование соответствующих столбцов, и у вас есть уменьшенный граф, определенный его списком смежности.

РЕДАКТИРОВАТЬ:

Согласно вашему редактированию, каждый из 16 элементов матрицы будет узлом, уникально идентифицированным по его координатам (i, j). Каждый из этих узлов будет связан по крайней мере со своими 2-4 соседями. Затем необходимы некоторые уточнения:

  • значение элемента — просто метка одного из 16 узлов?
  • единственные движения — вертикальные и горизонтальные или разрешены по диагонали?
  • ходы ограничены границами или вы можете перевернуть их (т. е. последний элемент строки связан с первым)?
  • равны ли затраты на каждое перемещение от одного к следующему или стоимость каждого перемещения связана со значениями пройденного узла?

Затем вы можете легко построить матрицу 16 * 16 для 16 предметов и применить метод кратчайшего пути.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]