Catalan应用
- 输出所有N对合法括号序列
- 输出所有已知进栈序列的合法出栈序列
/*
* shsheng
*/
public class Catalan {
// Catalan数可以用来描述以下问题,有2*n个人排队买票,票5元一张,
// 2*n个人中n个人拿着5元钱买票,另外n个人拿着10元钱,
// 售票员没有带钱,问2*n个人有几种排队方法,使得售票员可以在收到10元时有5元找零?
// 满足该问题的排队需要满足除了第一个人外任意位置人前面拿5元买票的人大于拿10元的。
// 扩展问题:
// 1. n对括号的全部合法序列。
// 2. 已知进栈序列,求所有合法的出栈序列。
// 3. 构造节点数为n的所有二叉树。http://blog.youkuaiyun.com/ssuchange/article/details/17380455
public static void main(String[] args) {
try {
testBrackets(7);
testStackSequence(7);
} catch (Exception e) {
e.prin