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

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

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

本文實(shí)例講述了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ìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

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

相關(guān)文章

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

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

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

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

    這篇文章主要介紹了python開發(fā)之基于thread線程搜索本地文件的方法,以完整實(shí)例形式分析了Python基于多線程處理搜索問題的相關(guān)實(shí)現(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問題的最佳方法,文章中有詳細(xì)的代碼示例,需要的朋友可以參考閱讀
    2023-04-04
  • 基于Python實(shí)現(xiàn)牛牛套圈小游戲的示例代碼

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

    “幸運(yùn)牛牛套圈圈”套住歡樂,圈住幸福,等你來挑戰(zhàn)!這篇文章小編主要為大家介紹一款基于Python實(shí)現(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é)合實(shí)例形式分析了Python全局變量與局部變量的定義、常見用法、區(qū)別及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-09-09
  • python的virtualenv虛擬環(huán)境常見問題和命令

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

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

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

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

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

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

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

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

最新評論

鸡东县| 长葛市| 香港 | 普安县| 佛坪县| 天峨县| 龙游县| 灵石县| 禄丰县| 嘉荫县| 博客| 城口县| 郁南县| 东乡| 鹤壁市| 玉龙| 济宁市| 彭水| 荥经县| 连山| 信阳市| 叶城县| 无棣县| 河池市| 申扎县| 叶城县| 镇赉县| 通州市| 修水县| 湛江市| 喜德县| 曲麻莱县| 济南市| 博湖县| 民和| 绥芬河市| 盐源县| 巴彦淖尔市| 水城县| 潞西市| 正宁县|