第4章 2.栈的应用.pptVIP

  • 13
  • 0
  • 约4.06千字
  • 约 30页
  • 2018-03-09 发布于江苏
  • 举报
第4章 2.栈的应用

例三 背包问题(P70) 假设有一个能装入总体积为T的背包和n件体积分别为w1, w2, …, wn的物品,能否从n件物品中挑选若干件恰好装满背包,即使wi1+wi2+…+wik=T,要求找出所有满足上述条件的解。 例如:当T=10,各件体积为{1,8,4,3,5,2}时,可找到下列4组解:(1,4,3,2)、(1,4,5)、(8,2)和(3,5,2)。 如何从后缀式求值? 先找运算符, 再找操作数 * 4.2 栈的应用举例 例一、数制转换 例二、括号匹配的检验 例三、背包问题 例四、表达式求值 例五、迷宫求解 例六、实现递归 例一、 数制转换 算法基于原理: N = (N div d)×d + N mod d 例如:(1348)10 = (2504)8 ,其运算过程如下(除8取余法): 计算顺序 输出顺序 1348 8 8 8 8 168 4 21 0 2 5 0 2 商 余数 void conversion () { InitStack(S); scanf (%d,N); while (N) { Push(S, N % 8); //余数入栈 N = N/8; //商 } while (!StackEmpty(S)) { Pop(S,e);

文档评论(0)

1亿VIP精品文档

相关文档