熱線電話:13121318867

登錄
首頁精彩閱讀Python基于回溯法解決01背包問題實例
Python基于回溯法解決01背包問題實例
2018-05-14
收藏

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

這篇文章主要介紹了Python基于回溯法解決01背包問題,結合實例形式分析了Python回溯法采用深度優先策略搜索解決01背包問題的相關操作技巧,需要的朋友可以參考下

同樣的01背包問題,前面采用動態規劃的方法,現在用回溯法解決?;厮莘ú捎蒙疃葍炏炔呗运阉鲉栴}的解,不多說,代碼如下:

bestV=0
curW=0
curV=0
bestx=None
defbacktrack(i):
  globalbestV,curW,curV,x,bestx
  ifi>=n:
    ifbestV<curV:
      bestV=curV
      bestx=x[:]
  else:
    ifcurW+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=[Falseforiinrange(n)]
  backtrack(0)
  print(bestV)
  print(bestx)

運行結果如下:

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢