Помогите с задачкой пож.:
Формула состоит из цифр, букв и знаков * + - (и скобки ()-знаки приоритета)
представить такую формулу в виде двоичного дерева
Напрример:
*
1 +
2 3
формула вида 1*2+3 т.е. (корень-налево-направо)
PS
type
telem=
ttree=^node;
node=record
info:telem;
left,right:ttree
end;
бинарные деревья это жесть =\
Деревья как деревья...
Как формула задана, напиши нормально, в какой форме? Для префиксной - см. здесь:
Помогите разобраться с бинарным деревом
формула имеет вид:
<формула>::<терминал>|(<формула><знак><формула>)
<знак>:+|-|*|\
<терминал>::=<переменная>|<цифра>
PS | - или
Дана формула (например (a*7+h)-(z\f-45))
ну и такую формулу представить в виде двоичного дерева
СПАСИБО БОЛЬШОЕ
Только вопрос-как представить такую формулу в префиксном виде )
Зайди вот сюда:
PreFix, InFix, PostFix и их вычисление, Модуль для работы с этими структурамиЗдесь есть модуль, который тебе может очень сильно помочь... Только он не распознает обратный слеш, и не уверен, что он (без доработки) будет работать с константами, насколько я помню - только с переменными, но перевод из инфикса в префикс там реализован ...
Спасибо-реально помог
Сурового профи-оправдываешь!)