¿Cuál es la diferencia entre el algoritmo de Prim y el vecino más cercano?

¡Son muy similares y a menudo se confunden! La diferencia entre Prim y el vecino más cercano se puede resumir implementando ambos:

Prim en un gráfico para encontrar el árbol de expansión mínimo:

  1. Comience en cierto vértice
  2. Elija el vértice no visitado más cercano (repetir)
    1. Esto se puede elegir de cualquier vértice que haya visitado
  3. Termina cuando todos los vértices han sido visitados

Vecino más cercano cuando se usa para soluciones TSP:

  1. Comience en cierto vértice
  2. Elija el vértice no visitado más cercano (repetir)
    1. Esto solo se puede elegir del vértice en el que se encuentra actualmente
  3. Regrese al inicio cuando se hayan visitado todos los vértices

Entonces, la principal diferencia es que en el vecino más cercano solo puede expandir su selección desde los vértices conectados inmediatamente al que se encuentra actualmente, mientras que en Prim’s puede expandir su selección desde cualquier vértice que ya haya visitado.

También debe tenerse en cuenta que en el caso de D2 del que creo que está hablando, el vecino más cercano solo se usa para mejorar los límites de la solución de TSP, por lo que debe encontrar una ruta para volver a comenzar.

Espero haber ayudado 🙂

No dude en pedir ayuda si desea ver cómo funciona esto en una matriz de adyacencia.