How to print all possible balanced parentheses for an expression?
Here is actual code in Python, using generators to avoid using too much memory. #! /usr/bin/python def parenthesized (exprs): if len(exprs) == 1: yield exprs[0] else: first_exprs = [] last_exprs = list(exprs) while 1 < len(last_exprs): first_exprs.append(last_exprs.pop(0)) for x in parenthesized(first_exprs): if 1 < len(first_exprs): x = ‘(%s)’ % x for y in parenthesized(last_exprs): if … Read more