在Python 3中:
def ubtrees(n): if n == 1: yield 't' elif n > 1: for t in ubtrees(n - 1): yield '(u {})'.format(t) for i in range(1, n - 1): for t1 in ubtrees(i): for t2 in ubtrees(n - 1 - i): yield '(b {} {})'.format(t1, t2)
此递归枚举过程对应于递归
M_1 = 1M_n = M_{n-1} + sum_{i=1}^{n-2} M_i M_{n-1-i},
与Wikipedia中给出的重复率相比偏移了一个。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)