回复 2 楼 embed_xuel
这是整个程序
/* 0/1背包问题的分支定界法算法*/
#include
#include
#define MAXNUM 100
struct node
{
int step ;
double price ;
double weight ;
double max,min ;
unsigned long po ;
};
typedef struct node DataType ;
struct SeqQueue
{
/* 顺序队列类型定义 */
int f,r ;
DataType q[MAXNUM];
}
;
typedef struct SeqQueue*PSeqQueue ;
PSeqQueue createEmptyQueue_seq(void)
{
PSeqQueue paqu ;
paqu=(PSeqQueue)malloc(sizeof(struct SeqQueue));
if(paqu==NULL)
printf("Out of space!! \n");
else
paqu->f=paqu->r=0 ;
return paqu ;
}
int isEmptyQueue_seq(PSeqQueue paqu)
{
return paqu->f==paqu->r ;

这是一个使用C语言实现的分支定界法解决0/1背包问题的程序。通过创建顺序队列并进行物品性价比排序,算法分别求解最大可能值和最小可能值,并使用队列进行分支搜索,最终找到最大价值解。
最低0.47元/天 解锁文章
3065

被折叠的 条评论
为什么被折叠?



