最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 这个是CSDN上的,你看看13楼这个你应该能看明白!

    @yifeng152:

    这是CSDN上的,13楼、18楼、19楼应该能看懂!两年多没看数据结构了╮(╯▽╰)╭

    我们先说两个数学结论:

    设置推送序列为 I(n):1,2,…,n

    1进栈序列为abcd有多少种出栈,I(n) 有 C(2n,n)-C(2n,n-1) 弹出序列。

    2、L(n)是I(n)的弹出序列当且仅当:对于L(n)的任意一个数字M,下列数字按降序排列

    注:[1],Conclusion 1是教材《数据结构》中的原话,所以没有错,根据加泰罗尼亚数的几何意义也很容易证明。

    [2],结论2是我自己的观察,我觉得应该是对的。这是一个例子:

    判断序列L(6): 4,3,5,2,1,6是否是I(6)的pop序列。

    解法:4后小于4的数字3、2、1按降序排列; 3后小于3的数字2、1按降序排列; 5后小于5的数字2、1按降序排列; 2 小于2的数φ按降序排列; 1后小于1的数φ按降序排列; 6 后小于 6 的数 φ 按降序排列。所以 L(6) 是 I(6).

    的弹出序列

    接下来是程序:

    1、决策函数bool ju(L):输入序列L判断是否是I的pop序列。可以使用结论2的思想,可以优化。

    2、过程恢复函数Ls proc(L):输入I的弹出序列L,输出完整的入栈出栈过程。如果输入的L不是I的弹出序列,会给出提示进栈序列为abcd有多少种出栈,所以proc也有判断功能。

    3、列出I(n)的所有pop序列

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 这个是CSDN上的,你看看13楼这个你应该能看明白!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论