Cómo mostrar que el algoritmo de Kruskal devuelve un árbol de expansión

Tiene [math] n [/ math] nodos y agrega [math] n-1 [/ math] bordes entre esos nodos. Como tampoco tiene ciclos, el gráfico debe estar conectado. Probemos esto.

Lo demostraremos por contradicción. Supongamos que tenemos un gráfico [matemática] G [/ matemática] con nodos [matemática] n [/ matemática] y aristas [matemática] n-1 [/ matemática] sin ciclos, y [matemática] G [/ matemática] ] no está conectado. Ahora, dividamos el gráfico [matemática] G [/ matemática] en los componentes conectados [matemática] m [/ matemática] ([matemática] 1 <m <n [/ matemática]), [matemática] G_1 [/ matemática] , [matemáticas] G_2 [/ matemáticas], [matemáticas] G_3 [/ matemáticas], hasta [matemáticas] G_m [/ matemáticas]. Cada una de estas subgrafías tiene [math] n_1 [/ math] nodos, [math] n_2 [/ math] nodos, [math] n_3 [/ math] nodos, hasta [math] n_m [/ math], respectivamente.

Entonces, sabemos que [math] n_1 + n_2 + n_3 + \ dots + n_m = n [/ math]. Y dado que cada uno de los subgrafos [matemáticas] G_1 [/ matemáticas], [matemáticas] G_2 [/ matemáticas], [matemáticas] G_3 [/ matemáticas],. . ., [math] G_m [/ math] están conectados y no tienen ciclos (lo que significa que son árboles), cada uno tiene [math] n_1-1 [/ math], [math] n_2-1 [/ math], [math ] n_3-1 [/ matemáticas],. . ., [matemática] n_m-1 [/ matemática] bordes, respectivamente. Entonces, sumando todo esto, vemos que [math] n_1-1 + n_2-1 + n_3-1 + \ dots + n_m = nm [/ math] ya que hay [math] m [/ math] número de componentes conectados. Pero sabemos que [matemática] m> 1 [/ matemática], entonces [matemática] n_1-1 + n_2-1 + n_3-1 + \ dots + n_m <n-1 [/ matemática]. En consecuencia tenemos una contradicción.

[math] G [/ math] debe estar conectado si hay nodos [math] n [/ math], [math] n-1 [/ math] bordes entre esos nodos y no hay ciclos. Así que hemos demostrado que el algoritmo de Kruskal debe devolver un árbol de expansión.

¡Espero que esto ayude! Comenta a continuación si tienes alguna pregunta.

More Interesting

¿Un cerebro humano tiene un algoritmo? Si se descifran los algoritmos del cerebro humano, ¿qué sucede? ¿Se usa en inteligencia artificial?

¿Qué tipo de datos debo usar en C para almacenar datos como a1b2c3? ¿Podría usar una matriz de caracteres para almacenar esto como una cadena?

¿Qué es la estructura de datos, algoritmo en informática? ¿Cuál es la mejor forma en línea para aprenderlo?

¿Cuáles son las características de un algoritmo codicioso?

¿Debo conocer algoritmos y estructuras de datos si quiero ser un desarrollador de pila completa?

Si U = {todos los enteros positivos menores o iguales a 30} y N = {todos los números impares menores o iguales a 19}, ¿qué es N 'y n (N')?

¿Cómo encuentra Google Play las subcadenas más populares en un conjunto de revisiones?

¿Cuál es el máximo común divisor de 55 y 75 usando el algoritmo euclidiano?

¿Cómo se implementa un árbol KD bidimensional en C ++?

¿Cuál es la lógica y la intuición detrás del algoritmo de optimización de momento y por qué se considera mejor que el descenso de gradiente?

Imprimí un libro electrónico con 600 páginas. El montón se cayó y ahora tengo que organizarlas en el orden de los números de página. ¿Cuál es la mejor manera de hacerlo?

¿Cuál es la mejor manera de ordenar una matriz de objetos en javascript?

¿Alguien puede enumerar las dosis de azufre homeopáticas en orden ascendente?

¿Cuál es la diferencia entre los algoritmos FPgrowth y Apriori en términos de resultados?

¿Hay algún sitio web para encontrar la complejidad del tiempo de diferentes algoritmos?