Cómo escribir una matriz de distancia para el algoritmo Bellman Ford

El algoritmo ford de bellman calcula la ruta más corta desde un vértice de origen único a todos los otros vértices ponderados en el gráfico.

Así es como funciona…

y aquí está el código que podrías aplicar para esto …

define (‘INFINITO’, 10000000);

$ matriz = matriz (

0 => matriz (0, 3, 4),

1 => matriz (0, 0, 2),

2 => matriz (0, -2, 0),

);

$ len = cuenta ($ matriz);

$ dist = array ();

función BellmanFord (& $ matrix, & $ dist, $ start)

{

global $ len;

foreach (array_keys ($ matrix) como $ vertex) {

$ dist [$ vertex] = INFINITO;

if ($ vertex == $ start) {

$ dist [$ vértice] = 0;

}

}

para ($ k = 0; $ k <$ len – 1; $ k ++) {

para ($ i = 0; $ i <$ len; $ i ++) {

para ($ j = 0; $ j <$ len; $ j ++) {

if ($ dist [$ i]> $ dist [$ j] + $ matrix [$ j] [$ i]) {

$ dist [$ i] = $ dist [$ j] + $ matriz [$ j] [$ i];

}

}

}

}

}

BellmanFord ($ matriz, $ dist, 0);

// [0, 2, 4]

print_r ($ dist);

More Interesting

¿Cuál es la diferencia entre los cursos avanzados de algoritmos 6.046 y 6.854 en el MIT?

¿Cuáles son los mejores recursos para aprender R? Tratando de construir mi propio algoritmo de predicción basado en datos anteriores que tengo en archivos csv y que solía ser un desarrollador de Ruby hace un par de años

En Codeforces Round # 308 (Div. 2), ¿cómo descubrieron todos la cantidad de dígitos de un número usando un algoritmo eficiente de toma de tiempo? ¿Alguien puede explicarlo?

Cómo guardar una entrada del usuario en una matriz definida en Java

¿Es posible codificar un algoritmo de manera que cuando se proporciona una imagen de entrada y la ropa que una persona usa en la imagen se recorta y compara con una imagen en una base de datos y sale con la coincidencia exacta / coincidencia más cercana?

Cómo crear un árbol binario de búsqueda binaria para los datos: 10, 8, 15, 7, 3, 6, 12, 5, 9,17

Silicon Valley (serie de televisión): ¿Cuál es el ejemplo más cercano en la vida real al algoritmo de compresión de Pied Piper?

¿Mejorará la velocidad de búsqueda y clasificación de algoritmos o hemos alcanzado el límite?

¿Qué tan importante es el DS y Algo?

Un árbol binario completamente equilibrado tiene 187 hojas. ¿Cuál es la altura del árbol?

¿Debo hacer investigación de pregrado en estructuras de datos teóricos y algoritmos, incluso si todavía no estoy seguro de si estoy persiguiendo la industria o la academia?

Cómo encontrar el número de subárboles izquierdo y derecho de un árbol binario

¿Por qué es imposible tener un tipo de comparación mejor que el tiempo O (nlogn)?

¿Qué es el algoritmo? ¿Para qué sirve?

Cómo inicializar una matriz