摘要:希賽網軟考頻道小編為大家整理了2019下半年軟件設計師下午真題,以下為軟件設計師下午考試真題第四部分:
4、閱讀下列說明和C代碼,回答問題1至問題3。
【說明】
0-1背包問題定義為:給定i個物品的價值v[1…i]、小重量w[1...i]和背包容量T,每個物品裝到背包里或者不裝到背包里。求最優的裝包方案,使得所得到的價值最大。
0-1背包問題具有最優子結構性質。定義c[i][T]為最優裝包方案所獲得的最大價值,則可得到如下所示的遞歸式。
【c代碼】
下面是算法的C語言實現。
(1)常量和變量說明
T: 背包容量
v[]:價值數組
w[]:重量數組
c[][]:c[i][j]表示前i個物品在背包容量為j的情況下最優裝包方案所能獲得的最大價值
(2) C程序
問題內容:
【問題1】 (8分)
根據說明和C代碼,填充C代碼中的空(1) ~ (4)。
【問題2】 (4分)
根據說明和C代碼,算法采用了 (5) 設計策略。在求解過程中,采用了(6)
(自底向上或者自頂向下)的方式。
【問題3】 (3分)
若5項物品的價值數組和重量數組分別為v[]= {0,1,6,18,22,28}和w[]= {0,1,2,5,6,7}背包容量為T= 11,則獲得的最大價值為 (7)。
相關推薦:2019下半年軟件設計師下午真題及答案
熱點推薦:2019下半年軟考真題及答案解析(匯總)
軟考備考資料免費領取
去領取