入栈顺序是1234,出栈序列有哪几种 5

求详细点解释,搞不懂... 求详细点解释,搞不懂 展开
 我来答
灵巧且舒坦的小兔子B
2019-07-09 · TA获得超过4774个赞
知道答主
回答量:130
采纳率:100%
帮助的人:1.7万
展开全部

4个元素的全排列共有24种,栈要求符合后进先出,按此衡量排除后即得:

1234√,1243√,1324√,1342√,1423×,1432√,2134√,2143√,2314√ ,2341√,

2413×,2431√,3124×,3142×,3214√,3241√,3412×,3421√,4123×,4132×,

4213×,4231×,4312×,4321√。

14种可能,10种不可能。

扩展资料

栈的典型应用有算术表达式的检查和背包问题等,实际上,凡属符合后进先出原则的问题,都可以用栈来处理。

1、算术表达式中括号作用域合法性的检查

括号作用域的检查是栈的典型实例。检查一个算术表达式中使用的括号是否正确,应从下面两个方面考虑:

1)左右括号的数目应该相等;

2)每一个左括号都一定有一个右括号与之匹配。

算法思想:括号作用域检查的原则是,对表达式从左到右扫描。当遇到左括号时,左括号入栈;当遇到右括号时,首先将栈顶元素弹出栈,再比较弹出元素是否与右括号匹配,若匹配,则操作继续;否则,查出错误,并停止操作。

2、背包问题

问题:假设有n件质量分配为w1,w2,...,wn的物品和一个最多能装载总质量为T的背包,能否从这n件物品中选择若干件物品装入背包,使得被选物品的总质量恰好等于背包所能装载的最大质量,即wi1+wi2+...+wik=T。若能,则背包问题有解,否则无解。

算法思想:首先将n件物品排成一列,依次选取;若装入某件物品后,背包内物品的总质量不超过背包最大装载质量时,则装入(进栈);否则放弃这件物品的选择,选择下一件物品试探,直至装入的物品总和正好是背包的最大转载质量为止。这时我们称背包装满。

若装入若干物品的背包没有满,而且又无其他物品可以选入背包,说明已装入背包的物品中有不合格者,需从背包中取出最后装入的物品(退栈),然后在未装入的物品中挑选,重复此过程,直至装满背包(有解),或无物品可选(无解)为止。

具体实现:设用数组weight[1..N],stack[1,N]分别存放物品重量和已经装入背包(栈)的物品序号,MaxW表示背包的最大装载量。每进栈一个物品,就从MaxW中减去该物品的质量,设i为待选物品序号。

若MaxW-weight[i]>=0,则该物品可选;若MaxW-weight[i] < 0,则该物品不可选,且若i>n,则需退栈,若此时栈空,则说明无解。

参考资料来源:百度百科-进栈



宛丘山人
推荐于2017-04-27 · 长期从事大学高等数学和计算机数据结构教学
宛丘山人
采纳数:6405 获赞数:24685

向TA提问 私信TA
展开全部
4个元素的全排列共有24种,栈要求符合后进先出,按此衡量排除后即得:
1234√ 1243√ 1324√ 1342√ 1423× 1432√
2134√ 2143√ 2314√ 2341√ 2413× 2431√
3124× 3142× 3214√ 3241√ 3412× 3421√
4123× 4132× 4213× 4231× 4312× 4321√
14种可能,10种不可能,如上所示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
噢喔7p
2023-03-14
知道答主
回答量:3
采纳率:0%
帮助的人:686
展开全部
4个元素的全排列共有24种,栈要求符合后进先出,按此衡量排除后即得:
1234√,1243√,1324√,1342√,1423×,1432√,
2134√,2143√,2314√ ,2341√,2413×,2431√,
3124×,3142×,3214√,3241√,3412×,3421√,
4123×,4132×,4213×,4231×,4312×,4321√。
14种可能,10种不可能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式