Лучшие помощники
- Megamozg 2170 б
- Matalya1 1800 б
- DevAdmin 1685 б
- arkasha_bortnikov 775 б
- Dwayne_Johnson 755 б
3 апреля 2023 01:52
213
Постройте дерево, соответствующее арифметическому выражению. Запишите это выражения в префиксной и постфиксной формах:(a+b)*(c+2*d)
(2*a-3*d)*c+2*b
3*a-(2*b+c)*d
1
ответ
Деревья строятся просто: добавляем узел – операцию, которая выполняется последней, и к ней два потомка – аргументы этой операции. Например, для выражения a + b операцией будет "+", а аргументами – a и b. Затем в таком же виде представляем аргументы этой операции, пока все аргументы не будут содержать выражений. Построенные деревья во вложении.
Префиксная форма записи заключается в том, что сначала записывается операция, потом префиксная запись её первого аргумента, потом второго аргумента. Это соответствует обходу дерева сверху вниз и слева направо, записываем, что сверху, потом идем вниз. Вот что получится в итоге:
а) * + a b + c * 2 d
б) + * - * 2 a * 3 d c * 2 b
в) - * 3 a * + * 2 b c d
В постфиксной записи, наоборот, записываются сначала аргументы, потом операция. Это соответствует обходу дерева снизу-вверх.
а) a b + c 2 d * + *
б) 2 a * 3 d * - c * 2 b * +
в) 3 a * 2 b * c + d * -
Префиксная форма записи заключается в том, что сначала записывается операция, потом префиксная запись её первого аргумента, потом второго аргумента. Это соответствует обходу дерева сверху вниз и слева направо, записываем, что сверху, потом идем вниз. Вот что получится в итоге:
а) * + a b + c * 2 d
б) + * - * 2 a * 3 d c * 2 b
в) - * 3 a * + * 2 b c d
В постфиксной записи, наоборот, записываются сначала аргументы, потом операция. Это соответствует обходу дерева снизу-вверх.
а) a b + c 2 d * + *
б) 2 a * 3 d * - c * 2 b * +
в) 3 a * 2 b * c + d * -
![image](https://539619.selcdn.ru/cdn-znarium-com/qa/c7c81a9cd7fee433a-652dc7c.png)
0
·
Хороший ответ
5 апреля 2023 01:52
Остались вопросы?
Еще вопросы по категории Информатика
Какая команда присвоения должна следовать за командами А:= А + В и В:= А - В, чтобы последовательное выполнение всех трех команд вело к обмену значени...
2. Наберите 1 литр воды в любом из двух сосудов A (объемом 11 литров) или B (объемом 2 литра). Изначально сосуды пустые. Напишите набор команд, исполь...
Приведите примеры формы представления информации: по номерам в порядке убывания....
Объем свободной памяти на диске - 5,25 Мб,разрядность звуковой платы-16.Какова длитель ость звучания цифрового аудиофайла ,записанного с частотой диск...
Сколько раз будет выполнен этот цикл? i = 7 while i < 11: print ( "Привет!" ) i += 1...