Возможные Деревья, использующие схему перевода для записи постфикса 7-2 + 3 - PullRequest
6 голосов
/ 24 марта 2019

Меня попросили преобразовать 7-2 + 3 в нотацию после исправления, в то время как в вопросе не было упомянуто ни приоритета оператора, ни слева направо, ни справа налево, а затем мне пришлось составить дерево, используя схему перевода понятия «исправление поста». результат.

Я нашел это неоднозначным, потому что 7-2 + 3 может дать 2 возможных результата 8 и 2, поэтому я написал две записи пост-исправлений 72-3 + & 723 + - и сделал два возможных дерева, используя схему перевода.

Я хочу подтвердить, был ли я прав или нет.

Ответы [ 2 ]

1 голос
/ 26 марта 2019

Если вы примените Алгоритм маневрового двора к 7-2+3, то результат будет 72-3+

Примечание: + и - равны left associative и имеют same precedence, если не указано иное

0 голосов
/ 12 апреля 2019

Постфиксная запись также называется 'suffix notation' и 'reverse polish'. линейное представление синтаксического дерева. В записи постфикса любое выражение может быть записано однозначно без скобок .

в первой части вашего вопроса для постфиксной записи любого выражения инфикса: **

Сканирование инфиксного выражения слева направо.

** так что, следуя алгоритму, этот правильный 72-3+, и для этого вам нужно создать дерево или что-то там упомянутое .. для получения более подробной информации о правилах postfix, ознакомьтесь с

https://www.geeksforgeeks.org/stack-set-2-infix-to-postfix/

Лех, я знаю, если вы найдете это полезным

...