閱讀下列說明和C代碼,回答問題1和問題2,將解答填入答題紙的對應欄內。
【說明】
某公司購買長鋼條,將其切割后進行出售。切割鋼條的成本可以忽略不計,鋼條的長度為整英寸。已知價格表P,其中中Pi(i=1,2,...,m)表示長度為i英寸的鋼條的價格?,F(xiàn)要求解使銷售收益最大的切割方案。
求解此切割方案的算法基本思想如下:
假設長鋼條的長度為n英寸,最佳切割方案的最左邊切割段長度為i英寸,則繼續(xù)求解剩余長度為n-i英寸鋼條的最佳切割方案。考慮所有可能的i,得到的最大收益rn對應的切割方案即為最佳切割方案。rn的遞歸定義如下:
rn=max1≤i≤n(pi+rn-i)對此遞歸式,給出自頂向下和自底向上兩種實現(xiàn)方式
【C代碼】
/*常量和變量說明
n:長鋼條的長度
P[]:價格數(shù)組
*/
#defineLEN100
intTop_Down_Cut_Rod(intP[],intn){/*自頂向下*/Intr=0
Inti;if(n=0){
retum0;
}
for(i=1;(1);i++){
inttmp=p[i]+Top_Down_Cut_Rod(p,n-i)r=(r>=tmp)?r:tmp;
}
returnr;
}
intBottom_Up_Cut_Road(intp[],intn){/*自底向上*/
intr[LEN]={0};
inttemp=0;
inti,j;
for(j=1;j<=n;j++){
temp=0;
for(i=l;(2);i++){
temp=(3);
}
(4)
}
returnr[n];
}
【問題1】(8分)
根據(jù)說明,填充C代碼中的空(1)~(4)。
【問題2】(7分)
根據(jù)說明和C代碼,算法采用的設計練略為(5)。
求解時,自頂向下方法的時間復雜度為(6);自底向上方法的時間復雜度為(7)
(用O表示)。
信管網參考答案:
【問題1】
(1):i<=n
(2):i<=j
(3):temp=(temp>=r[i]+r[j-i])?temp:(r[i]+r[j-i])
(4):r[j]=(temp>p[j])?temp:p[j];
【問題2】
(5)動態(tài)規(guī)劃法
(6)O(2n)
(7)O(n2)
查看解析:m.xiexiliangjiufa.com/st/396349820.html
相關推薦:
溫馨提示:因考試政策、內容不斷變化與調整,信管網網站提供的以上信息僅供參考,如有異議,請以權威部門公布的內容為準!
信管網致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網軟考課程由信管網依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。
發(fā)表評論 查看完整評論 | |