Se eu tiver um gráfico , um subconjunto de vértices e um segundo conjunto de vértices , qual é a melhor maneira de encontrar o caminho mais curto conectando o dois conjuntos? Ou seja, estamos procurando um caminho mais curto entre todos caminhos de - . Também podemos assumir que todos os pesos de borda são positivos.
Aqui está como eu tenho abordado esse problema até agora:
Eu já tenho as informações da matriz de distância para o gráfico que foram calculadas aplicando o algoritmo de Floyd-Warshall em uma operação anterior.
Eu, então, itere sobre todos os vértices em para cada vértice em S ' e encontro o par (s_1, s_2) com o menor valor na matriz d .
O algoritmo de Dijkstra é então usado para calcular o caminho mais curto entre e , portanto, conectar o vértice define e .
Existe uma maneira mais eficiente de alcançar esse mesmo resultado?