Imagina que tienes N puntos y debes conectar todos estos N puntos con un solo hilo. El único criterio aquí es que la longitud del hilo que está utilizando para conectar todos los puntos debe ser lo más mínima posible.
La forma más fácil de resolver esto es comenzar desde la fuente, busque el siguiente punto más corto que pueda alcanzar. Repita el mismo proceso en cada punto que alcance. En pocas palabras, lo que estamos buscando es la suma más corta de distancias.
El error común que comete la gente aquí es asumir que encontrar la menor distancia desde la fuente a cada uno de los puntos dará la respuesta correcta. Ese no es el caso. Hay otro nombre para este algoritmo: Dijkstra. Si aún no está convencido, use el algoritmo de dijkstra y encuentre el camino más corto desde el origen hasta todos los demás puntos. Hay una buena posibilidad de que la suma de estos caminos más cortos sea mayor que el algoritmo mencionado anteriormente.
- Conozco la implementación básica de diferentes estructuras de datos como árboles, gráficos, colas y muchos más para inserción, eliminación, recorrido. Ahora, ¿cómo procedo a construir un sistema operativo?
- Cómo crear mi propia función de hash para usar en una tabla de búsqueda
- ¿Pueden los algoritmos de aprendizaje automático reforzar los estereotipos?
- ¿Puede crear un puntero 2D dinámico que almacene elementos ingresados por el usuario como una matriz y lo muestre antes y después de liberarlo?
- ¿Cuál es la mejor manera de detectar conjuntos similares de flotadores de 0 a 1?
En cuanto al propósito práctico, reemplace el hilo con una red y los puntos con enrutadores: obtiene la ruta más pequeña para enviar datos a través de un conjunto particular de enrutadores. Voila!