设为首页 加入收藏

TOP

分支限界法之01背包问题
2014-11-23 21:26:54 】 浏览:9350
Tags:分支 限界 背包 问题

  #include "iostream.h"


  /////////////////////////////////////////


  //tree node


  typedef struct _treenode{


  //struct _treenode *liveNode; //活节点


  double upperProfit; //节点的价值上界


  double profit; //节点价值*


  double weight; //节点重量


  int level; //活节点在子树中所处的层序号


  //bool left;


  }TreeNode;


  void initNode(TreeNode &node, double up, double p, double w, int lev)


  {


  node.upperProfit = up; node.profit = p; node.weight = w; node.level = lev;


  }


  /////////////////////////////////


  #define MAX_LENGTH 20


  //class LQueue


  class LQueue{


  public:


  LQueue() {length = 0;}


  virtual ~LQueue(){}


  void addTail(TreeNode tn);


  TreeNode removeHead();


  TreeNode removeMax();


  TreeNode removeMin();


  int GetLength(){return length;}


  protected:


  private:


  //int queue[MAX_LENGTH];


  TreeNode queue[MAX_LENGTH]; //序号0处开始存储


  int length; //节点个数


  };


  void LQueue::addTail(TreeNode tn)


  {


  queue[length++] = tn;


  }


  TreeNode LQueue::removeHead()


  {


  return queue[--length];


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇分支限界法之旅行售货员问题 下一篇C#编程忘记密码功能的实现方法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目