#algorithm #tree
#алгоритм #дерево
Вопрос:
Как переставить все возможные древовидные структуры для фиксированного количества листьев для двоичного дерева? какой алгоритм построить всю возможную древовидную структуру? Каково количество всех возможных древовидных структур?
для дерева двоичных выражений алфавит должен быть листовым
например (a b) * c
*
c
a b
количество листьев равно 3
мы хотим переставить в другую структуру, такую как
*
a
b c
Я думаю, чтобы исправить порядок, тот же порядок, потому что я переставлю узел оператора в более позднем процессе. Просто ожидайте структуру. количество узлов оператора является динамическим
если вы хотите бросить вызов большему, вы можете использовать динамический порядок, я также хочу знать алгоритм динамического порядка
теперь попробуйте сначала исправить порядок
еще одно ограничение, которое я замечаю, заключается в том, что каждый внутренний узел должен иметь левый и правый лист
Комментарии:
1. Не могли бы вы подробнее рассказать о своей проблеме.
2. Должны ли листья быть в одном и том же порядке для каждой структуры? (Как в вашем примере.)
3. Я думаю, чтобы исправить порядок, тот же порядок, потому что я переставлю узел оператора в более позднем процессе. Просто ожидайте структуру. количество узлов оператора является динамическим
4. Я считаю, что генетический алгоритм тегов неверен для этого вопроса.
5. @Avinash, представьте игру, в которой вам дается несколько входных чисел и одно выходное число. Ваша задача — найти арифметическое выражение, результат которого максимально приближен к заданному выходному номеру. Смотрите эту страницу для игры в одной сербской викторине: www2.slagalica.tv/game/mojbroj
Ответ №1:
Моя идея заключается в рекурсивном замене левого и правого узлов на каждом уровне, кроме листа, и сохранении при каждом обмене Я не знаю, правильно ли это, но я не чувствую пропажи