⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 算法 4.3.txt

📁 数据结构各种算法原代码及图形示例
💻 TXT
字号:
算法 4.3
void knapsack ( int w[ ],  int T,  int n ) {
  // 已知n件物品的体积分别为 w[0], w[1], …, w[n],背包的总体积为 T,
  // 本算法输出所有恰好能装满背包的物品组合解
  InitStack(S);   k = 0;        // 从第0 件物品考察起
  do {
     while ( T > 0  &&  k < n ) {
        if ( T - w[k] >= 0 ) {               // 第k件物品可选,则k入栈
          Push ( S, k );  T - = w[k];        // 背包剩余体积减少wk
        }
        k ++;                                // 继续考察下一件物品
     }
     if  ( T == 0 )  StackTraverse(S);       // 输出一组解,之后回溯寻找下一组解
     Pop ( S, k );  T + = w[k];              // 退出栈顶物品,背包剩余体积增添wk
     k ++;                                   // 继续考察下一件物品
  } while ( StackEmpty(S) && k == n );
} // knapsack

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -