Einzelnen Beitrag anzeigen

Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Mathebaum (Binärbaum) vereinfachen

  Alt 19. Nov 2008, 15:36
Also ich habe meinen Parser soweit fertig, d.h. :
  • Screener (entfernen der Leerzeichen etc...)
  • Lexikalischer Scanner
  • Parser (erstellt einen Parsebaum (Binärbaum)
  • Berechnung des Parsebaums (+,-,*,/,x^y)
  • Variablen können durch Werte ersetzt werden

Nun will ich das der Parsebaum sich soweit zusammenfasst wie es geht, also würde im Baum z.b.

3*x+4*x

Würde daraus:

7*x

Sozusagen Vereinfachen von Termen in der Mathematik auf meinen Parsebaum (siehe Bild) angewandt.

Dabei besteht mein Parsebaum halt wie bei einer verketteten Liste aus nem Wert und einem Zeiger aufs nächste Objekt (bei meinem Baum wären das aber dann 2 Zeiger pro Wert).

Ich bräuchte nun einen Ansatz dafür wie ich das Vereinfachen des Baumes umsetzten kann.

Edith: Das man sozusagen auch Variablen addieren kann in meinem Parser: x+x = 2x und so weiter...

MfG Alaitoc
  Mit Zitat antworten Zitat