题目:
N对括号能够得到的有效括号序列有哪些?
如N=3时,有效括号串共5个,分别为:
1:()()()
2:()(())
3:(())()
4:(()())
5:((()))
问题分析:
任何一个括号,都可以写成形式A(B)
A、B都是若干括号对形成的合法串(可为空串)
若N=0,括号序列为空。
他可以看做一个隐式树,()是根节点,A是左子树,B是右子树。若N=1,括号序列只能是()这一种
算法描述:i属于[0,N-1]
计算i对括号的可行序列A;
计算N-i-1对括号的可行序列B;
组合得到A(B);
注:加上额外一对括号(),总括号共N对