Varios algoritmos de la teoría de grafos más corto de

Varios algoritmos de la teoría de grafos más corto de

1.Floyd

Complejidad de tiempo: O (v ^ 3) v : vértice ( número de vértices (
Complejidad Espacio: O (v ^ 2)

Pensamiento: el DP
con G [i] [j] representa el mínimo de vértice i al vértice j, y peso.
ecuación de transición de estados: g [i] [j] = min (g [i] [j], g [i] [k] + g [k] [j])
medio directo: vértice i al vértice j a través de vértices k y k toma un valor mínimo sin vértices.
Inicialización: distancia entre todos los puntos INF
ver los siguientes detalles del código de plantilla:

for(int k=1;k<=n;k++)//k循环必须放在最外层,放在第二层或第三层都会WA 因为一个k相当一个中转站。应该先对一个中转站将所有点压缩距离,然后再进行下一个中转站。如果对一个点进行所有中转站的遍历则没有压缩距离的效果 
			for(int i=1;i<=n;i++)//总结就是状态的转移是通过不同的i j 而不是通过不同的k 所以k在最外层。
				    if(g[i][k]!=inf)//一个优化:如果i k 之间没有路径 直接进行下一个i. 
				for(int j=1;j<=n;j++)
					g[i][j]=min(g[i][j],g[i][k]+g[k][j]);//此处用if 比 min 快一点。

Floyd algoritmo varios lugares para tomar nota:
1. El tiempo de complejidad en gran medida. Sólo se aplica a un mapa a pequeña escala.
2. bucle triple en el k debe ser explicado en la capa más externa de la código específico razón.

preguntas del portal:
el título desnuda Floyd hdu2544
transitivo hdu1704 cierre Floyd

----------------------------------- Continuará ------------ ------------------------

Publicado 18 artículos originales · alabanza ganado 14 · vistas 361

Supongo que te gusta

Origin blog.csdn.net/weixin_45750972/article/details/104483429
Recomendado
Clasificación