Código fuente del diseño del algoritmo de Python: https://github.com/MakerChen66/Python3Algorithm
Declaración de derechos de autor: la originalidad no es fácil, este artículo prohíbe el plagio, la reimpresión y la infracción debe investigarse.
Tabla de contenido
1. Torre de Hanói
Towers of Hanoi: Algoritmo simple y clásico con una interesante solución recursiva.
La Torre de Hanoi (también conocida como la Torre de Hanoi) es un juguete educativo que se originó a partir de una antigua leyenda india. Cuando Brahma creó el mundo, hizo tres pilares de diamantes. En un pilar, se apilaron 64 discos de oro en orden de tamaño de abajo hacia arriba. Brahma le ordenó a Brahmin que reorganizara los discos en otro pilar en orden de tamaño desde abajo. Y se estipula que el disco no se puede agrandar en el disco pequeño, y solo se puede mover un disco entre los tres pilares a la vez. Entonces, ¿cómo hacerlo con Python?
Imaginemos si queremos mover el disco más grande a la columna más a la derecha. Necesitamos mover los otros discos excepto el disco más grande al pilar del medio primero. Entonces, el problema es cómo mover los discos N-1 al pilar central. Entonces pensamos en el método recursivo.
Mueva N discos de la clavija izquierda a la clavija derecha:
- Mueva recursivamente los discos N-1 de la columna izquierda a la columna central
- Mueva el disco más grande de la columna de la izquierda a la columna de la derecha
- Mueva recursivamente los discos N-1 de la columna del medio a la columna de la derecha
Implementación del algoritmo de Python:
def hanoi(height, left='left', right='right', middle='middle'):
if height:
hanoi(height - 1, left, middle, right)
print(left, '=>', right)
hanoi(height - 1, middle, right, left)
hanoi(3)
Resultado de salida:
2. Descarga del código fuente
Descarga del código fuente del diseño del algoritmo de Python:
- Enlace de descarga de GitHub: Portal
- Enlace al texto original: Leer el texto original
3. Información del autor
Autor: Xiaohong's Fishing Daily, Objetivo: ¡Hacer la programación más interesante!
Cuenta pública original de WeChat: " Tecnología Xiaohong Xingkong ", centrada en algoritmos, rastreadores, sitios web, desarrollo de juegos, análisis de datos, procesamiento de lenguaje natural, IA, etc. Esperamos su atención, ¡crezcamos y codifiquemos juntos!
Nota de derechos de autor: ¡Este artículo prohíbe el plagio y la reimpresión, y la infracción debe investigarse!