Какие существуют алгоритмы для раскрытия скобок в выражении?

Всем привет, нужно привести уравнение к каноническому виду. Первый этап это освободить уравнение от скобок, смотрю в сторону метода рекурсивного спуска и обратной польской записи. Уравнение может быть вида x^2+1.5zy^3+2z*(ab+t(x^2+1))=0
  • Вопрос задан
  • 1449 просмотров
Решения вопроса 1
tsarevfs
@tsarevfs
C++ developer
Польская запись немного проще, рекурсивный спуск позволит работать с деревом, если хотите не просто вычислить, а сделать какие-то преобразования. Примеров кода и описаний для каждого из алгоритма навалом в интернете.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Я бы начал бы с польской...
(далее - нужно смотреть уже "глубже"...)
Ответ написан
Комментировать
Nipheris
@Nipheris Куратор тега C#
Да распарсите это дело в AST и освобождайте от чего хотите. Можно, например, расчитать константные выражения (заменить (3 + 4) на 7). Скобки убрать еще проще - если у узла один потомок (выражение в скобках) - заменить текущий узел на потомка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы