Помощь - Поиск - Пользователи - Календарь
Полная версия: создание бинарного дерева
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Nebell
Помогите с задачкой пож.:
Формула состоит из цифр, букв и знаков * + - (и скобки ()-знаки приоритета)
представить такую формулу в виде двоичного дерева

Напрример:
*
1 +
2 3
формула вида 1*2+3 т.е. (корень-налево-направо)
PS
type
telem=
ttree=^node;
node=record
info:telem;
left,right:ttree
end;
polic
бинарные деревья это жесть =\
volvo
Деревья как деревья...

Как формула задана, напиши нормально, в какой форме? Для префиксной - см. здесь:
Помогите разобраться с бинарным деревом
Nebell
формула имеет вид:
<формула>::<терминал>|(<формула><знак><формула>)
<знак>:+|-|*|\
<терминал>::=<переменная>|<цифра>
PS | - или

Дана формула (например (a*7+h)-(z\f-45))
ну и такую формулу представить в виде двоичного дерева

СПАСИБО БОЛЬШОЕ

Только вопрос-как представить такую формулу в префиксном виде )
volvo
Зайди вот сюда:
PreFix, InFix, PostFix и их вычисление, Модуль для работы с этими структурами

Здесь есть модуль, который тебе может очень сильно помочь... Только он не распознает обратный слеш, и не уверен, что он (без доработки) будет работать с константами, насколько я помню - только с переменными, но перевод из инфикса в префикс там реализован ...
Nebell
Спасибо-реально помог

Сурового профи-оправдываешь!)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.