蛮力法、动态规划法、回溯法和分支限界法求解(9)

时间:2025-07-09

}

}

//往堆中插入结点

void insert(HEAP H[], HEAP x, int &n)

{

n++;

H[n] = x;

mov_up(H,n);

}

//删除堆中结点

void del(HEAP H[], int &n, int i)

{

HEAP x, y;

x = H[i]; y = H[n];

n --;

if(i<=n){

H[i] = y;

if(y.b>=x.b){

mov_up(H,i);

}else{

mov_down(H, n, i);

}

}

}

//获得堆顶元素并删除

HEAP del_top(HEAP H[], int &n)

{

HEAP x = H[1];

del(H, n, 1);

return x;

}

//计算分支节点的上界

void bound( KNAPNODE* node, int M, goods a[], int n)

{

int i = node->k;

float w = node->w;

float p = node->p;

if(node->w>M){ // 物体重量超过背包载重量

node->b = 0; // 上界置为0

}else{

while((w+a[i].w<=M)&&(i<n)){

w += a[i].w; // 计算背包已装入载重

p += a[i++].p; // 计算背包已装入价值

}

蛮力法、动态规划法、回溯法和分支限界法求解(9).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219