知识大全 出栈序列的研究[1]
Posted 序列
篇首语:曲直都是经历,好坏都有风景。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 出栈序列的研究[1]相关的知识,希望对你有一定的参考价值。
摘 要 栈是一种非常重要的数据结构 递归 函数调用都离不开栈 对n个元素入栈和出栈的研究是栈的一个主要研究内容 利用二叉树给出了入栈和出栈序列的表示 给出了由前置 栈序列构造出二叉树的算法 证明了对于按次序入栈的n个元素 其出栈序列总数为C( n n)/(n+ ) 对三种求解出栈序列算法进行了分析和研究 并提出一种时间复杂度为O( n)判断某一序列是否为出栈序列的算法 它提高了程序的执行效率
关键词 出栈序列 Catalan数 二叉树
中图分类号 TP . 文献标识码 A 文章编号 X( )
引 言
已知集合N = … n 如果按给定的次序 … n依次人栈 出栈的序列共有多少种?如何给出全部的解?如何判断某一序列是否为出栈序列?对于这几个问题 文献[ ~ ] 对其进行了分析和研究 在此基础上 提出一种用二叉树来表示人栈和出栈序列 求得出栈序列总数 以及利用栈的性质判断某一序列是否为出栈序列 还给出一种比文献[ ]所提算法执行时间更短的程序
出栈序列的总数
由文献 [ ~ ] 可知 出栈序列总共有C( n n)/(n+ )种 它是一个Catalan数 文献[ ]利用n×n的矩形方格 设其左下角坐标为( ) 右上角坐标为(n n) 求从( ) 到(n n)的路径数 要求中途所经过的点(a b) 满足a≤ b 且仅能向右和向上行走 文献[ ]利用在出栈序列的位置结合Catalan性质而求出 文献[ ]证明了前序序列为 … n的二叉树 其中序序列即为出栈序列 再由二叉树的性质求出栈序列总数
cha138/Article/program/sjjg/201311/22744相关参考