#cpp #алгоритм #очередь
Попалась такая задача: «при помощи очереди изъять лишние скобки из арифметического выражения». Изначально она показалась очень простой, но на практике вызвала много затруднений. Добавление @mymedia: Лишними скобками считаются те, которые можно убрать, сохранив смысл выражения. Например, (5*7)+3 → 5*7+3, ((a+b)) → a+b.
Ответы
Ответ 1
Задача действительно не самая простая и через стек ее не решить. Через стек решается задача определения правильности/неправильности скобочной последовательности. Лишние скобки так не убрать. ВОТ можно почитать про обратную польскую нотацию. Раскладываете выражение, собираете обратно и где надо ставите скобки. Тогда лишних уже не будет. P.S. очередь/стек там используется для сохранения операций.
Комментариев нет:
Отправить комментарий