欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python遞歸實現(xiàn)漢諾塔算法示例

 更新時間:2018年03月19日 09:15:16   作者:kuqs(奇小東)  
這篇文章主要介紹了Python遞歸實現(xiàn)漢諾塔算法,結合實例形式分析了漢諾塔算法的原理、實現(xiàn)步驟與相關操作技巧,需要的朋友可以參考下

本文實例講述了Python遞歸實現(xiàn)漢諾塔算法。分享給大家供大家參考,具體如下:

最近面試題,面試官讓我5分鐘實現(xiàn)漢諾塔算法(已然忘記漢諾塔是啥)。

痛定思痛,回來查了一下漢諾塔的題目和算法。題干與實現(xiàn)如下:

A基座有64個盤子,大在下小在上,每次移動一個盤子,每次都需要大在下小在上,全部移動到B基座,C基座為輔助基座。

# -*- coding:utf-8 -*-
# 漢諾塔回溯遞歸實現(xiàn)
# 假設參數(shù)中初始桿為a,借助桿為c,階段終止桿為b
# 第一步,a狀態(tài)借助b移動到c
# 第二步,a移動到b
# 第三步,c借助a移動到b
class Solution:
  def hanoi(self, n, a, b, c):
    global lishan
    if n > 0:
      Solution.hanoi(self, n-1, a, c, b)
      b.append(lishan[n-1])
      a.remove(lishan[n-1])
      Solution.hanoi(self, n-1, c, b, a)
so = Solution()
n = 3
global lishan
lishan = [x for x in xrange(n)]
A = [x for x in xrange(n)]
B = []
C = []
so.hanoi(3, A, B, C)print B

運行結果:

[2, 1, 0]

回溯遞歸,設計起來還是很有難度的(在沒有背過這個題目的前提下)

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數(shù)據結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python Thread虛假喚醒概念與防范詳解

    Python Thread虛假喚醒概念與防范詳解

    這篇文章主要介紹了Python Thread虛假喚醒概念與防范,虛假喚醒是一種現(xiàn)象,它只會出現(xiàn)在多線程環(huán)境中,指的是在多線程環(huán)境下,多個線程等待在同一個條件上,等到條件滿足時,所有等待的線程都被喚醒,但由于多個線程執(zhí)行的順序不同
    2023-02-02
  • python實現(xiàn)創(chuàng)建新列表和新字典,并使元素及鍵值對全部變成小寫

    python實現(xiàn)創(chuàng)建新列表和新字典,并使元素及鍵值對全部變成小寫

    今天小編就為大家分享一篇python實現(xiàn)創(chuàng)建新列表和新字典,并使元素及鍵值對全部變成小寫,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python實現(xiàn)MD5進行文件去重的示例代碼

    python實現(xiàn)MD5進行文件去重的示例代碼

    工作中偶爾會收到一大堆文件,名稱各不相同,分析文件的時候發(fā)現(xiàn)有不少重復的文件,導致工作效率低下,那么,這里就寫了一個python腳本實現(xiàn)文件去重功能,感興趣的就一起來了解一下
    2021-07-07
  • Pytorch使用PIL和Numpy將單張圖片轉為Pytorch張量方式

    Pytorch使用PIL和Numpy將單張圖片轉為Pytorch張量方式

    這篇文章主要介紹了Pytorch使用PIL和Numpy將單張圖片轉為Pytorch張量方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python中實現(xiàn)常量(Const)功能

    Python中實現(xiàn)常量(Const)功能

    這篇文章主要介紹了Python中實現(xiàn)常量(Const)功能,python語言本身沒有提供const,本文使用一個類來實現(xiàn)常量定義功能,并介紹了使用方法,需要的朋友可以參考下
    2015-01-01
  • Python編程技巧連接列表的八種操作方法

    Python編程技巧連接列表的八種操作方法

    這篇文章主要為大家介紹了Python編程技巧之連接列表的八種操作方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • Pandas導入導出excel、csv、txt文件教程

    Pandas導入導出excel、csv、txt文件教程

    Pandas?是一個強大的數(shù)據分析和處理庫,可以用來讀取和處理多種數(shù)據格式,本文主要介紹了Pandas導入導出excel、csv、txt文件教程,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 利用python實現(xiàn)短信和電話提醒功能的例子

    利用python實現(xiàn)短信和電話提醒功能的例子

    今天小編就為大家分享一篇利用python實現(xiàn)短信和電話提醒功能的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 人工智能Text Generation文本生成原理示例詳解

    人工智能Text Generation文本生成原理示例詳解

    這篇文章主要為大家介紹了Text Generation文本生成原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • python探索之BaseHTTPServer-實現(xiàn)Web服務器介紹

    python探索之BaseHTTPServer-實現(xiàn)Web服務器介紹

    這篇文章主要介紹了python探索之BaseHTTPServer-實現(xiàn)Web服務器介紹,小編覺得還是挺不錯的,這里分享給大家,供需要的朋友參考。
    2017-10-10

最新評論