| 1 | initial version |
Make your own iterator:
def tree_iter(n):
if n == 0:
yield BinaryTree()
return
for k in range(n):
if k > n - k:
continue
for t1 in tree_iter(k):
for t2 in tree_iter(n - 1 - k):
s1 = t1.to_dyck_word()
s2 = t2.to_dyck_word()
if k < n - k or s1 <= s2:
yield BinaryTree([t1, t2])
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.