Projeto de Algoritmo Python - Torre de Hanói

Código-fonte do projeto do algoritmo Python: https://github.com/MakerChen66/Python3Algorithm

Declaração de direitos autorais: Originalidade não é fácil, este artigo proíbe plágio, reimpressão, violação deve ser investigada!

1. Torre de Hanói

Towers of Hanoi: Algoritmo simples e clássico com uma solução recursiva interessante.
insira a descrição da imagem aqui
A Torre de Hanoi (também conhecida como Torre de Hanoi) é um brinquedo educacional que se originou de uma antiga lenda indiana. Quando Brahma criou o mundo, ele fez três pilares de diamante.Em um pilar, 64 discos de ouro foram empilhados em ordem de tamanho de baixo para cima. Brahma ordenou que Brahmin reorganizasse os discos em outro pilar em ordem de tamanho a partir de baixo. E é estipulado que o disco não pode ser ampliado no disco pequeno, e apenas um disco pode ser movido entre os três pilares por vez. Então, como fazer isso com Python?

Vamos imaginar se queremos mover o maior disco para a coluna mais à direita. Precisamos mover os outros discos, exceto o disco maior, para o pilar do meio primeiro. Portanto, o problema é como mover os discos N-1 para o pilar do meio. Então pensamos no método recursivo.

Mova N discos do pino esquerdo para o pino direito:

  • Mova recursivamente N-1 discos da coluna da esquerda para a coluna do meio
  • Mova o maior disco da coluna da esquerda para a coluna da direita
  • Mova recursivamente N-1 discos da coluna do meio para a coluna da direita

Implementação do algoritmo 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 saída:
insira a descrição da imagem aqui

2. Download do código-fonte

Download do código-fonte do projeto de algoritmo Python:

3. Informações do autor

Autor: Xiaohong's Fishing Daily, Objetivo: Tornar a programação mais interessante!

Conta pública original do WeChat: " Xiaohong Xingkong Technology ", com foco em algoritmos, rastreadores, sites, desenvolvimento de jogos, análise de dados, processamento de linguagem natural, IA, etc., aguardando sua atenção, vamos crescer e codificar juntos!

Nota de direitos autorais: este artigo proíbe plágio e reimpressão, e a violação deve ser investigada!

Acho que você gosta

Origin blog.csdn.net/qq_44000141/article/details/121664596
Recomendado
Clasificación