栈的亚特兰数与二叉树的前序中序遍历序列

来源:互联网 发布:网络林志玲是谁 编辑:程序博客网 时间:2024/06/04 00:35

栈的亚特兰数与二叉树的前序中序遍历

@(算法学习)

已经熟知的是二叉树的中序遍历和先序遍历可以唯一确定一棵树。

更有趣的知识点是,以先序遍历序列作为入栈序列,那么出栈序列恰为中序遍历。这样就把两种遍历与栈的性质结合在一起了,且出栈序列数是亚特兰数。设栈大小是n,则共有:1n+1(2nn)个。

看一道例题:
(2015)先序序列a,b,c,d的不同二叉树的个数是:14个。

分析:如果没有联系起来规律,不妨枚举出来。

这里写图片描述

也不是太大的问题,只要思维细致一些,解出来并不难。更何况,四种情况是两两对称的。所以答案必须是个偶数值。红色是容易漏掉的两种情况。特别注意。

如果用规律解就直接是:14+1(84)=14

1 0