Re: Генерация всех деревьев на haskell
От: MBo  
Дата: 10.11.11 01:54
Оценка:
Здравствуйте, pigman, Вы писали:


P>Прошу помощи в генерации всевозможных пар скобок, которые будут являться бинарными деревьями со арифметическими операциями в узлах и цифрами в листьях.


Все наборы из 2N скобок (их количества — числа Каталана) нетрудно сгенерировать рекурсивно. Нужно вести подсчет количества левых и правых скобок.
Если их разность нулевая, то на данном шаге рекурсии можно добавить только левую скобку.
Если количество левых = N — то только правую.
Иначе можно любую.

Кстати, у Кнута недавно вышли кусочки 4-го тома, среди них есть и глава по генерация всяких деревьев.
(pre-fascicle 4a, Section 7.2.1.6)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.