问题描述:假设有一个站台,只有一个进出口,有一列火车,车厢标号从头往后依次是1,2,3,4。问火车从头进入站台,有多少种出站台的序列。
解题思路:这里的站台可以类比于数据结构中的栈。栈具有先进后出、后进先出的特点,因此,任何一个调度结果应该是{1 ,2 ,3 ,4}
全排列中的一个元素。由于进栈的顺序是由小到大的,所以出栈序列应该满足以下条件:对于序列中的任何一个数,其后面所有比它小的数应该是倒序的,例如4321 是一个有效的出栈序列,
1423不是一个有效的出栈结果(4 后面比它小的两个数 2 ,3 不是倒序)。出站序列满足卡特兰数( 什么是卡特兰数?), 一共有 c(2n, n)/n+1 种序列