Как переставить все возможные древовидные структуры для фиксированного числа листьев для двоичного дерева?какой алгоритм построить все возможные древовидные структуры?Каково число всех возможных древовидных структур?
для двоичного дерева выражений, алфавит должен быть листом
, например (a + b) * c
*
+ c
a b
theчисло листьев равно 3
, которые мы хотим переставить в другую структуру, такую как
*
a +
b c
Я предполагаю исправить порядок, тот же порядок, потому что я переставлю узел оператора в более позднем процессе.Просто ожидайте структуру.номер узла оператора является динамическим
если вы хотите бросить вызов больше, вы можете использовать динамический порядок, я также хочу знать алгоритм динамического порядка
теперь попробуйте сначала исправить порядок
еще одно ограничение, которое я замечаю, заключается в том, что каждый внутренний узел должен иметь левый и правый лист