卡塔兰数介绍与应用
1. 前言
最近在leetcode上锻炼算法题的时候,偶然看到一篇介绍卡塔兰数的文章,在这之前其实已经简单的了解过卡塔兰数以及与之相关问题,温故而知新,借此机会重新整理和总结一下,同时自己也手动写出了递推公式的推理过程,毕竟很多人第一次看到卡塔兰的递推公式时,都会有疑问,这条公式是怎么来的。
2. 公式
3. 推理过程
4. 代表性问题
4.1 出栈顺序
题目描述:给定n个数的入栈序列,请问有多少种出栈序列。
4.2 n对括号正确匹配数目
给定n对括号,求括号正确配对的字符串数,例如:
0对括号:[空序列] 1种可能
1对括号:() 1种可能
2对括号:()() (()) 2种可能
......
4.3 给定节点组成二叉搜索树
给定N个节点,能构成多少种不同的二叉搜索树。