Cómo calcular dos nodos distantes mínimos a partir de dos conjuntos de nodos en un gráfico

Deje que [math] A \ subseteq V, B \ subseteq V [/ math] sean los dos conjuntos de nodos.

Si [math] A \ cap B \ ne \ phi [/ math], el problema es trivial, entonces supongamos que [math] A \ cap B = \ phi. [/ Math]

Cree un nodo [math] s [/ math] y conéctelo a todos los nodos en [math] A [/ math]. Además, cree un nodo [math] t [/ math] y conéctelo a todos los nodos en [math] B [/ math].

Encuentre la ruta más corta desde [math] s [/ math] a [math] t [/ math] utilizando Breadth First Search.

El sucesor de [math] s [/ math] y el predecesor de [math] t [/ math] en esta ruta son los nodos distantes mínimos.

La prueba de corrección es fácil: si hay nodos que están más cerca de los calculados por el algoritmo, podríamos usarlos para obtener una ruta más corta de [matemáticas] s [/ matemáticas] a [matemáticas] t [/ matemáticas], Lo cual es una contradicción.