[说明] 背包问题就是有不同价值、不同重量的物品n件,求从这n件物品中选取一部分物

题型:问答题

问题:

[说明]
背包问题就是有不同价值、不同重量的物品n件,求从这n件物品中选取一部分物品的选择方案,使选中物品的总重量不超过指定的限制重量,而且选中物品的价值之和为最大。
背包问题是一个典型的NP完全难题。对该问题求解方法的研究无论是在理论上,还是在实践中都具有一定的意义。如管理中的资源分配、投资决策、装载问题等均可建模为背包问题。
常用的背包问题求解方法很多,但本题中采用了一种新的算法来求解背包问题。该算法思想为:首先要对物品进行价重比排序,然后按价重比从大到小依次装进包裹。这种方法并不能找到最佳的方案,因为有某些特殊情况存在,但只要把包中重量最大的物品取出,继续装入,直到达到limitweight,这时的物品就是limit weight的最大价值。这种算法不需要逐个进行试探,所以在数据非常大时,执行效率主要由排序的时间复杂度决定。该算法的流程图为图11-4。
仔细阅读程序说明和C程序流程图及源码,回答问题1和问题2。
[流程图11-4]




[程序说明]
struct Thing:物品结构
typedef struct Bag:背包结构类型
input ( ):将物品按序号依次存入数组函数
inbag ( ):物品按物价比入包函数
init ( ):初始化函数
sort ( ):对物品按价格重量比排序函数
outbag ( ):取出包中weiht最大的物品函数
print ( ):最佳方案输出函数
[C程序]
#define N 255
struct Thing
double weight;
double value;
double dens;
thing[N];
typedef stmct Bag
Thing thing [N];
double weighttmp;
double sumvalue;
bag,best;
inbag ( )

do
bag.thing[i]=thing[i]
(1)
(2)
i++;
while ( (3) )

init ( )

for (inti=0; i<N; i++)

input (thing[i].weight, thing [i].value)
thing [i].dens=thing[i].value/thing [i].weight;
;

main ( )

init ( );
sort ( );
inbag ( );
do
best=bag; //把包中物品放入暂存数组
outbag ( ); //取出包中weight最大的物品
(4)
while ( (5) )
print (best); //输出temp因为是最佳方案

1. [问题1]
根据程序说明及流程图、部分C源码,充分理解算法思想,填入 (n) 处。

考点:计算机软件水平考试中级软件设计师中级软件设计师下午试题
题型:问答题

给加粗字注音,给拼音写汉字。

(1)大自然毫不悭________吝地赐予几千种植物。

(2)齐之临淄三百闾,张袂_________成阴,挥汗成雨。

(3)最聪明的办法莫过于三缄________其口。

(4)瞧着他那bīn   bīn__________有礼的客气样子,M先生先发制人地宣布。

(5)到了第二年,春水盈塘、绿柳垂丝,一片yǐ   nǐ________的风光。

(6)一色荷花,风自两岸来,红披绿偃,摇荡wēi   ruí________。

题型:问答题

潜动力矩的方向与电压铁芯移动的方向相反。()

题型:问答题

已知地球半径为R,地面处重力加速度为g,地球自转的角速度为ω,则质量为m的地球同步卫星所受的向心力为________________。

题型:问答题

如图所示是一台理想自耦变压器,在a、b之间接正弦交流电,A、V分别为理想交流电流表和交流电压表。若将调压端的滑动头P向上移动,则

[ ]

A.  电压表V的示数变大  

B.  变压器的输出功率变大

C.  电流表A的示数变小  

D.  电流表A的示数变大

题型:问答题

某孕妇,G2P6。妊娠30周,规律下腹疼痛伴 * * 血性分泌物6小时。查体:胎位LOA,胎心率146次/分,宫缩20秒/7~8分钟,宫缩力弱,肛查胎先露S-3,宫颈管缩短,宫口可容一指尖。目前最恰当的处理措施是()。

A.严密观察等待自然分娩

B.滴注缩宫素加强宫缩

C.抑制宫缩保胎治疗

D.立即行剖宫产终止妊娠

E. * * 检查后确定分娩方式

更多题库