贪心准则:1.贪心准则设计算法过程的每一步都是最优解
2.贪心准则一旦被设计,中途不可改变
装箱问题:
问题描述:
1.有若干个体积为V的箱子
2.有n个物品,体积分别为:V1,V2,V3…………
要求:将所有物品都装入箱子中,使箱子尽可能的少
贪心准则:
1.将所有物品按照体积降序排列
2.每次取出一个物品(当前未装入箱子中体积最大的)遍历所有已经打开的箱子,将该物品放入一个较早打开的箱子中
#include<stdio.h>
#include<stdlib.h>
#define V 35
#define N 5
//物品信息
typedef struct{
int gnum;//物品编号
int gv;//物品体积
}ElemG;
//物品结点
typedef struct node{
int gnum;
struct node *next;
}GoodsLink;
//箱子结点
typedef struct box{
int remainder; //用来存放剩余体积
GoodsLink *hg;
struct box *next;
}BoxLink;
ElemG *CreateG();
ElemG *BuddleSont(ElemG *g);
BoxLink * Enchase(ElemG *g);
void Print(BoxLink *hbox);
int main(void)
{
ElemG *g;
BoxLink *hbox;
g = CreateG();
g = BuddleSont(g);
hbox