Dijkstra's Shortest Path
La columna vertebral de Google Maps. Encuentra caminos más cortos con una priority queue — pero una sola arista con peso negativo lo invalida por completo.
Expertos explorando las entrañas
En lo más profundo. Aquí es donde dejamos de escribir scripts y comenzamos a diseñar sistemas de ingeniería. Domina los algoritmos de grafos y la programación dinámica que te permitirán superar entrevistas de nivel de staff.
La columna vertebral de Google Maps. Encuentra caminos más cortos con una priority queue — pero una sola arista con peso negativo lo invalida por completo.
Muestra por qué un Greedy falla con valores arbitrarios. Una tabla DP bidimensional resuelve cada subproblema exactamente una vez.
La columna vertebral de `git diff`. DP encuentra la subsecuencia compartida más larga entre dos strings — base del análisis de diferencias en control de versiones.
El orden correcto para ejecutar tareas con dependencias. Exactamente lo que hace pip o npm al resolver paquetes — nunca funciona si hay un ciclo.
Ordena todas las aristas por peso y las suma de menor a mayor. Union-Find garantiza en cada paso que no se forme un ciclo.
Árbol donde cada nodo es un carácter. Búsqueda de prefijos en O(m) — la base del autocompletado en motores de búsqueda y editores de código.
Tres bucles anidados calculan distancias mínimas entre todos los pares de nodos. O(V³) — donde Dijkstra da una fuente, Floyd-Warshall lo cubre todo.
Divide el array en segmentos y los precalcula en un árbol. Cada consulta o actualización de rango cuesta O(log n) en vez de O(n).
Greedy parece funcionar pero falla con denominaciones irregulares. DP tabulado garantiza el mínimo exacto calculando desde monedas pequeñas hacia arriba.
Operaciones directas sobre bits — XOR, AND, Shifts. Más rápidas que cualquier aritmética estándar y la herramienta clave para optimizaciones de bajo nivel.