国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都安| 北碚区| 铜鼓县| 仙游县| 革吉县| 佳木斯市| 樟树市| 崇阳县| 台东县| 蓬莱市| 合水县| 吴桥县| 新民市| 疏附县| 文昌市| 尤溪县| 伊吾县| 北碚区| 宝坻区| 陆良县| 陆河县| 沂源县| 刚察县| 上林县| 曲水县| 霍山县| 江北区| 聂荣县| 罗城| 延长县| 文安县| 灵宝市| 深州市| 托克逊县| 乌拉特前旗| 台湾省| 普兰店市| 博乐市| 连云港市| 扶风县| 金山区|