Задать вопрос

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

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

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

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