-1


Мне нужно прочитать в Полином и преобразовать его в нормализованную форму.
Например, я читаю в 4*x * (x^2 + 4x + 3) и его необходимо преобразовать в 4*x^3 + 16*x^2 + 12*x.
Есть ли какой-то хитрый алгоритм для этого или мне нужно что-то придумать. Я думаю, в основном это просто расширяет этот термин. Я разбираю термин рекурсивно и генерирую синтаксическое дерево, поэтому операции нормализации будут применены к этому дереву синтаксического анализа.
Спасибо всем, кто помогает мнеНормализация полинома

+0

Ответ скрыт в матрице ... –

+2

Нет сложного алгоритма. Боюсь, вам придется подумать. –

+0

После того, как вы сгенерируете дерево, вам нужно будет создать набор правил для изменения дерева (умножьте многочлены, добавьте экспоненты и т. Д.). – gab06

ответ

1

Это может быть выражение бинарное дерево, что представляет собой выражение 4*x * (x^2 + 4x + 3):

  * 
    / \ 
    *   + 
    4 x / \ 
      ^  + 
      x 2 / \ 
        * 3 
       4 x 

Теперь вы должны умножить 4x с x^2+4x+3, что может закончиться в бинарном дереве например, так же, как мы, люди:

     + 
       /  \ 
       +    * 
     /  \  * 3 
     *    * 4 x  
    /\   /\   
    * ^  *  *  
4 x x 2 4 x 4 x  

Затем продолжить умножение чисел и x's с добавлением экспонентов. Вы должны искать каждого оператора в дереве и искать, чтобы его дочерние элементы применяли соответствующие алгебраические правила.

Надеюсь, это поможет.