n个元素按顺序入栈,求合法的出栈序列的个数
方法一n = 1时,记出栈序列的个数f(1) = 1;n = 2时,易知f(2) = f(1) + f(1) = 2; //12, 21n = 3时,f(3) = f(2) + f(1) * f(1) + f(2); //123, 132, 213, 231, 321…n = k时,记f(0) = 1,则f(k) = f(0) *f(k-1) + … + f(k-1) *f(0)方法二若一次入栈操作记为‘1’,一次出栈操作记为‘0’,则每一个出栈序列对应一个由n个’1’和n个‘0’组成的
原创
2020-09-09 23:23:24 ·
2788 阅读 ·
0 评论