最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用回溯法子集樹模板解決爬樓梯問題示例

 更新時間:2017年09月08日 11:29:04   作者:羅兵  
這篇文章主要介紹了Python使用回溯法子集樹模板解決爬樓梯問題,簡單說明了爬樓梯問題并結(jié)合實例形式給出了Python回溯法子集樹模板解決爬樓梯問題的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python使用回溯法子集樹模板解決爬樓梯問題。分享給大家供大家參考,具體如下:

問題

某樓梯有n層臺階,每步只能走1級臺階,或2級臺階。從下向上爬樓梯,有多少種爬法?

分析

這個問題之前用分治法解決過。但是,這里我要用回溯法子集樹模板解決它。

祭出元素-狀態(tài)空間分析大法:每一步是一個元素,可走的步數(shù)[1,2]就是其狀態(tài)空間。不難看出,元素不固定,狀態(tài)空間固定。

直接上代碼。

代碼

'''爬樓梯'''
n = 7 # 樓梯階數(shù)
x = []  # 一個解(長度不固定,1-2數(shù)組,表示該步走的臺階數(shù))
X = []  # 一組解
# 沖突檢測
def conflict(k):
  global n, x, X
  # 部分解步的步數(shù)之和超過總臺階數(shù)
  if sum(x[:k+1]) > n:
    return True
  return False # 無沖突
# 回溯法(遞歸版本)
def climb_stairs(k): # 走第k步
  global n, x, X
  if sum(x) == n: # 已走的所有步數(shù)之和等于樓梯總臺階數(shù)
    print(x)
    #X.append(x[:]) # 保存(一個解)
  else:
    for i in [1, 2]: # 第k步這個元素的狀態(tài)空間為[1,2]
      x.append(i)
      if not conflict(k): # 剪枝
        climb_stairs(k+1)
      x.pop()       # 回溯
# 測試
climb_stairs(0) # 走第0步

效果圖

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

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

相關(guān)文章

  • Python利用pywin32實現(xiàn)自動操作電腦

    Python利用pywin32實現(xiàn)自動操作電腦

    在windows系統(tǒng)上,重復性的操作可以用Python腳本來完成,其中常用的模塊是win32gui、win32con、win32api,要使用這三個模塊需要先安裝pywin32。本文就為大家介紹了如何利用這些模塊實現(xiàn)自動操作電腦,感興趣的可以了解一下
    2022-11-11
  • python開發(fā)之基于thread線程搜索本地文件的方法

    python開發(fā)之基于thread線程搜索本地文件的方法

    這篇文章主要介紹了python開發(fā)之基于thread線程搜索本地文件的方法,以完整實例形式分析了Python基于多線程處理搜索問題的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2015-11-11
  • Python自動錄入ERP系統(tǒng)數(shù)據(jù)

    Python自動錄入ERP系統(tǒng)數(shù)據(jù)

    這篇文章主要介紹了Python如何自動錄入ERP系統(tǒng)數(shù)據(jù),用Python解決Excel問題的最佳方法,文章中有詳細的代碼示例,需要的朋友可以參考閱讀
    2023-04-04
  • 基于Python實現(xiàn)牛牛套圈小游戲的示例代碼

    基于Python實現(xiàn)牛牛套圈小游戲的示例代碼

    “幸運牛牛套圈圈”套住歡樂,圈住幸福,等你來挑戰(zhàn)!這篇文章小編主要為大家介紹一款基于Python實現(xiàn)牛牛套圈小游戲,感興趣的小伙伴可以了解一下
    2023-02-02
  • 四個Python操作Excel的常用腳本分享

    四個Python操作Excel的常用腳本分享

    在數(shù)字化時代,很多人工作中經(jīng)常和excel打交道。本文和大家分享四個Python操作excel的腳本,讓你工作效率更高,需要的小伙伴可以參考一下
    2022-11-11
  • Python全局變量與局部變量區(qū)別及用法分析

    Python全局變量與局部變量區(qū)別及用法分析

    這篇文章主要介紹了Python全局變量與局部變量區(qū)別及用法,結(jié)合實例形式分析了Python全局變量與局部變量的定義、常見用法、區(qū)別及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-09-09
  • python的virtualenv虛擬環(huán)境常見問題和命令

    python的virtualenv虛擬環(huán)境常見問題和命令

    在Python中,venv是一個用于創(chuàng)建和管理虛擬環(huán)境的模塊,虛擬環(huán)境可以幫助你在項目之間隔離不同的Python包和依賴關(guān)系,這篇文章主要介紹了python的virtualenv虛擬環(huán)境常見問題和命令,需要的朋友可以參考下
    2024-07-07
  • Python使用pymongo庫操作MongoDB數(shù)據(jù)庫的方法實例

    Python使用pymongo庫操作MongoDB數(shù)據(jù)庫的方法實例

    今天小編就為大家分享一篇關(guān)于Python使用pymongo庫操作MongoDB數(shù)據(jù)庫的方法實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • python的sys.path模塊路徑添加方式

    python的sys.path模塊路徑添加方式

    這篇文章主要介紹了python的sys.path模塊路徑添加方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Django Admin實現(xiàn)上傳圖片校驗功能

    Django Admin實現(xiàn)上傳圖片校驗功能

    這篇文章主要介紹了Django Admin實現(xiàn)上傳圖片校驗功能的相關(guān)資料,需要的朋友可以參考下
    2016-03-03

最新評論

申扎县| 凤城市| 定安县| 余庆县| 仁化县| 阿瓦提县| 泾源县| 辉县市| 景洪市| 禹城市| 江达县| 安乡县| 连州市| 揭阳市| 宁陵县| 班戈县| 桂平市| 新化县| 汉寿县| 德安县| 辰溪县| 淳安县| 浦城县| 昌乐县| 济南市| 淮阳县| 鄂伦春自治旗| 伊通| 宿迁市| 淮北市| 铜山县| 克拉玛依市| 寿光市| 苏尼特右旗| 德令哈市| 探索| 凯里市| 江安县| 浙江省| 达州市| 迁安市|