Ich habe eine Aufgabe, in der ich eine Formel habe, sagen wir x+(y*z)
und ich muss es in einen Binärbaum umwandeln. Ich habe online geschaut und ich habe Stichworte wie infix
und postfix
gesehen, und sie werden helfen, den regulären Ausdruck in ein Formular zu konvertieren, das weiter einfach in einen Binärbaum umgewandelt werden kann.Algorithmus zum Umwandeln von Ausdruck in Binärbaum
Mein einziges Problem ist, dass ich diese infix
oder postfix
Methode nie gelernt habe, gibt es also eine andere Möglichkeit, es zu konvertieren, oder ist das der einzige Weg? Ich habe es versucht, indem ich gesucht habe, aber das waren die einzigen Ergebnisse, die ich bekommen habe.
Es ist ein schweres Problem für mich zu lösen, ohne Online-Ressourcen zu verwenden.
Schauen Sie sich detaillierte Beschreibung [Rangier-Yard-Algorithmus] (https://en.wikipedia.org/ wiki/Shunting-yard_algorithm) - es geht darum, Infix (zB 'x + (y * z)') in Postfix umzuwandeln (zB 'xyz * +'). –
Infix und Postfix (und Präfix) sind Möglichkeiten, binäre Operatoren darzustellen. Regulärer Ausdruck hat nur unäre Operatoren, wie den Kleene-Stern und '+'. Haben Sie mit regulären Ausdrücken oder arithmetischen Ausdrücken zu tun? –
Sie sind Ausdrücke mit Variablen. Zum Beispiel: -x, (x + y), (x * (x + y)) –