Я пытаюсь написать программу Java, которая принимает арифметическое выражение, преобразует его из Infix в Postfix и оценивает ответ. Однако мне нужно представить выражения как полиномы с помощью связанных списков и выполнить оценку Postfix. Я завершил преобразование Infix to Postfix и знаю, как оценивать Postfix. Но я изо всех сил пытаюсь представить выражение полинома, используя Linked List.Решить уравнение многочлена с помощью связанного списка
Например, если выражение Postfix является: 40 50 -
Мне нужно хранить в 4 * 10^1 + 0 * 10^1 в связанном списке. Это можно сделать, если в объединенном списке есть 2 узла, коэффициент и экспонента. То же самое для 50.
Проблема в том, что я не знаю, сколько связанных списков мне понадобится для любого данного выражения. Если выражение postfix равно 40 50 60 - +, тогда мне нужно хранить все 3 числа в отдельных списках и хранить их в стеке, пока не найду оператора. Может кто-нибудь, пожалуйста, дать мне какие-либо предложения о том, как действовать?
Вы действительно хотите разбить индивидуальное число на узлы в связанном списке (а не только на все выражение)? Это очень противоречиво и неэффективно. – Dukeling
Как насчет [дерева двоичных выражений] (http://en.wikipedia.org/wiki/Binary_expression_tree)? –
Когда вы пишете многочлен, вы действительно имеете в виду [полиномиальный] (http://en.wikipedia.org/wiki/Polynomial), или вы имеете в виду что-то еще? – Joni