Berechnung arithmetischer Ausdrücke - Aufbau eines binären Baumes
-
Kennt ihr Beispielprogramme in C ?
-
Was willst du denn für Tips?
Du hast genau eine konkrete Frage gestellt, und die Antwort darauf ist (abgesehen davon dass sie schon von Maxi gegeben wurde): ja, einfach als Knoten mit nur einem Child.
Wenn du sonst noch was wissen willst stell bitte konkrete Fragen.Ok, doch noch ein Tip: du kannst den Baum natürlich auch implizit darstellen, z.B. in der Umgekehrt Polnischen Notation:
-
ja, also ich würd gern eine binärbaum-struktur aus einem arithmetischen ausdruck erstellen und diesen ausduck dann berechnen.
wo es hapert, ist die aufstellung des algorithmus
-
z.b. so http://www.cz.j.th.schule.de/html_inc/schule/lehrer/privat/mirko_koenig/postfix/postfix.htm#in2post
-
danke, bestimmt nett gemeint, aber das ist nicht das was ich suche
ich möchte die arithmetischen ausdrücke nicht in die postfixnotation umformen, sondern einen binären baum aufbauen, diesen dann rekursiv durchlaufen und den ausdruck berechnen.
das durchlaufen ist kein problem. aber den baum aufzubauen, da komm ich noch nicht so ganz hinter.
-
http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm
wenn du den pseudo-code des ersten verfahrens umsetzt gehts.
btw: schon mal goggle bemüht? zB expression parser oder parsing expressions?
-
Maxi schrieb:
btw: schon mal goggle bemüht? zB expression parser oder parsing expressions?
ja, ich habe google ausgiebig bemüht, stundenlang ( kein witz )
vielen dank erstmal für den link, ich werde nach feierabend voller spannung mal reinschauen.
-
najaaaa, also, das dritte verfahren käme in frage.
kapier ich zwar nicht, aber naja.
jetzt weiss ich wenigstens, nach welchem begriff ich suchen muss: top-down parser rekursiv
vielleicht finde ich ne seite, wo die entwicklung des algos schritt für schritt erklärt wird. ( für doofe)
-
Das ganze geht dann uebrigens in den Bereich "Compilerbau" ("Übersetzerbau"), wenn du noch nach einem guten Stichpunkt zum googeln suchst.
-
genau so sieht das aus
jetzt hab ich erstmal genug material gesaugt für die nächsten monategruß
p.n.