Помогите с задачкой пож.:
Формула состоит из цифр, букв и знаков * + - (и скобки ()-знаки приоритета)
представить такую формулу в виде двоичного дерева
Напрример:
*
1 +
2 3
формула вида 1*2+3 т.е. (корень-налево-направо)
PS
type
telem=
ttree=^node;
node=record
info:telem;
left,right:ttree
end;
бинарные деревья это жесть =\
Деревья как деревья...
Как формула задана, напиши нормально, в какой форме? Для префиксной - см. здесь:
http://forum.pascal.net.ru/index.php?s=&showtopic=7346&view=findpost&p=52604
формула имеет вид:
<формула>::<терминал>|(<формула><знак><формула>)
<знак>:+|-|*|\
<терминал>::=<переменная>|<цифра>
PS | - или
Дана формула (например (a*7+h)-(z\f-45))
ну и такую формулу представить в виде двоичного дерева
СПАСИБО БОЛЬШОЕ
Только вопрос-как представить такую формулу в префиксном виде )
Зайди вот сюда:
http://forum.sources.ru/index.php?showtopic=42056
Здесь есть модуль, который тебе может очень сильно помочь... Только он не распознает обратный слеш, и не уверен, что он (без доработки) будет работать с константами, насколько я помню - только с переменными, но перевод из инфикса в префикс там реализован ...
Спасибо-реально помог
Сурового профи-оправдываешь!)