Python 實現0-1背包

來源:互聯網
上載者:User

標籤:lse   nbsp   最大   end   lag   bsp   矩陣   class   ==   

代碼:

import numpy as npc=10             #背包容量w=[2,2,6,5,4]    #物品重量v=[5,3,5,4,6]     #物品價值flag =[0,0,0,0,0]m=np.zeros([5,11],int)           #用來儲存 5x11的矩陣for j in range(c+1):         #初始化第一行    if(w[0]<=j):        m[0][j]=v[0]        flag[0] = 1for i in range(1,5):    for j in range(c+1):        if (j<w[i]):            m[i][j]=m[i-1][j]        else:            if(m[i-1][j-w[i]]+v[i]>m[i-1][j]):                m[i][j] = m[i-1][j-w[i]]+v[i]            else:                m[i][j]=m[i-1][j]print("最大價值為:",m[len(w)-1][c])for i in range(4,0,-1):    if(m[i][c]>m[i-1][c]):        flag[i] = 1        c = c -w[i]    else:        flag[i] = 0print("選擇的物品有:",end = ‘ ‘)for i in range(len(flag)):    if(flag[i]==1):        print(i,end =‘ ‘)

 

Python 實現0-1背包

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.