栈混洗概念、甄别(栈的应用一)

阅读: 评论:0

栈混洗概念、甄别(栈的应用一)

栈混洗概念、甄别(栈的应用一)

//最近听邓俊辉老师的课学数据结构,在这里对学到的知识做一些比较详细易懂的整理、梳理。

栈混洗 stack shuffle/stack permutation

概念:将栈A的顶元素弹出并压入栈S,或将栈S的顶元素弹出并压入栈B中,经过一系列的操作后,A中元素全部转入B中,则称之为A的一个栈混洗。这里标记  尖括号<:栈顶,方括号 ] :栈底 ,两个栈的弹出与压入次序不一样由此产生了在B栈的不同排序方式。

栈混洗的计数:

例如A:1 2 3的混洗结果可能有 123,132,213,231,321,不可能出现312 (原因如下图右上角)

经观察,任意三个元素出现的排序方式与其他元素无关,如果出现了 k i j 的排序方式,必定不是栈混洗的结果——充要条件

如果不出现312 的模式( j+1,i,j )那必然是栈混洗的结果,312模式称之为禁形。

栈混洗的甄别

 甄别方法有三种思路:

  1. 不断枚举i,j,k的组合 复杂度 O(n^3&

本文发布于:2024-01-29 07:11:53,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170648351813589.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:概念   栈混洗
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23