Proyecto: la ruta más corta
Python · Unidad 24: Estructuras de datos
- Plan completo
- Python
- Proyecto
- 3 ejercicios
Tienes el mapa de un metro chico: cada estación con la lista de las estaciones a las que llega directo, en orden alfabético.
Vas a contestar dos preguntas: a cuántos tramos está el destino y por dónde se va. Las dos se recorren a lo ancho, con la cola de pendientes, el diccionario de vecinos y el conjunto de vistos.
mapa = {"sur": ["centro"],
"centro": ["norte", "sur"],
"norte": ["centro"]}
print(mapa["centro"])
print("norte" in mapa["sur"])Imprime
['norte', 'sur'] False
El resto de la explicación está en la lección, que es del plan completo.
Ejercicios de esta lección
Se hacen en la app, que los corrige al momento y explica por qué.
1. Escribe el código
Escribe
pasos(mapa, inicio, fin): regresa cuántos tramos tiene la ruta más corta deinicioafin, o-1si no hay forma de llegar. En la cola puedes formar pares(estacion, tramos), como las tuplas del montículo.2. Completa el código
Deja la ruta del inicio al fin. Debe imprimir: ['sur', 'centro', 'norte']
3. Escribe el código
Escribe
ruta_corta(mapa, inicio, fin): regresa la lista de estaciones del inicio al fin por la ruta más corta, o[]si no hay forma de llegar. Ya tienesarma, que voltea lo que guardaste enpadre. Si dos rutas empatan en largo, gana la que en la primera estación distinta va antes en orden alfabético: los vecinos vienen en ese orden, así que basta quedarte con la primera vez que llegas a cada estación.
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.