国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python基于回溯法解決01背包問題實例

2020-02-16 10:58:29
字體:
來源:轉載
供稿:網友

本文實例講述了Python基于回溯法解決01背包問題。分享給大家供大家參考,具體如下:

同樣的01背包問題,前面采用動態規劃的方法,現在用回溯法解決。回溯法采用深度優先策略搜索問題的解,不多說,代碼如下:

bestV=0curW=0curV=0bestx=Nonedef backtrack(i):  global bestV,curW,curV,x,bestx  if i>=n:    if bestV<curV:      bestV=curV      bestx=x[:]  else:    if curW+w[i]<=c:      x[i]=True      curW+=w[i]      curV+=v[i]      backtrack(i+1)      curW-=w[i]      curV-=v[i]    x[i]=False    backtrack(i+1)if __name__=='__main__':  n=5  c=10  w=[2,2,6,5,4]  v=[6,3,5,4,6]  x=[False for i in range(n)]  backtrack(0)  print(bestV)  print(bestx)

運行結果如下:

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 息烽县| 石景山区| 景宁| 保德县| 青神县| 鹤峰县| 环江| 内黄县| 黄龙县| 富阳市| 胶州市| 鹤壁市| 龙井市| 芜湖市| 浑源县| 巴楚县| 宁阳县| 闻喜县| 金川县| 蒙城县| 玉龙| 溆浦县| 麻江县| 呼伦贝尔市| 奉化市| 普陀区| 广安市| 沙洋县| 文昌市| 邛崃市| 万源市| 新乡市| 高台县| 深圳市| 湘西| 宝鸡市| 承德市| 佛冈县| 汪清县| 南陵县| 莫力|