Eu tenho matriz de adjacência, não sei a localização dos pontos só sei a matriz de adjacência e a distância entre os vizinhos é igual.
Então, como eu consigo a distância entre os pontos?
Existe algum algoritmo que
Respostas:
1 para resposta № 1então como eu consigo a distância entre os pontos ??
Em geral, você pode "t", supondo que você esteja usando a distância euclidiana como marcada. Com as informações fornecidas, você não pode criar um layout exclusivo (incorporação) do gráfico.
Como um pequeno contra-exemplo, pegue a matriz de adjacência:
[0 1 1]
[1 0 0]
[1 0 0]
O vértice 1 está conectado ao Vertex 2 e ao Vertex 3formando um ângulo. O ângulo entre os segmentos (1,2) e (1,3) pode ser o que quisermos de 0 ° a 180 °, fazendo com que a distância entre os Vértices 2 e 3 entre 0 e 2 unidades.
Para chegar a qualquer coisa razoável, você terá que impor algum tipo de layout no gráfico primeiro.
0 para resposta № 2
Como a matriz de adjacência representa um gráfico, você precisa percorrer o gráfico para encontrar os caminhos possíveis. Você pode fazer isso usando pesquisa de amplitude, uma vez que o gráfico não é ponderado. Tenha em mente que a distância entre alguns pontos pode ser infinita, pois pode não haver um caminho de um para o outro