12.01.2014 Aufrufe

2-up - ETH Zürich

2-up - ETH Zürich

2-up - ETH Zürich

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Symmetrisches Traversieren eines<br />

Binärbaums („inorder“)<br />

• Prinzip: Zuerst den linken Unterbaum traversieren,<br />

dann den Wert der Wurzel ausgeben, anschliessend<br />

den rechten Unterbaum traversieren<br />

• Beispielhafte Anwendung: Rückgewinnung<br />

des Ausdrucks in Infix-Notation („vollständig<br />

geklammert“) aus einem Operatorbaum:<br />

• Falls die Wurzel kein Blatt ist:<br />

• Ausgabe von ‘(‘ und wende Algorithmus<br />

auf linken Unterbaum an<br />

• Ausgabe des Attributs der Wurzel<br />

• Falls die Wurzel kein Blatt ist:<br />

• Wende Algorithmus auf rechten<br />

Unterbaum an und Ausgabe von ‘)‘<br />

Denkübung: Wie kann<br />

man die überflüssigen<br />

Klammern sparen?<br />

(Beachte auch den Fall,<br />

wo ’*’ und ’+’ im Baum<br />

vertauscht sind!)<br />

(((7-(2*3))+2)+(4*3))<br />

181<br />

Postfix-Ausdrücke<br />

• Bei Postfix-Ausdrücken kommt der Operator nach den<br />

zugehörigen Operanden, nicht dazwischen (infix)<br />

• Wird auch als „umgekehrte polnische Notation“ (UPN) bezeichnet<br />

• Entspr. Präfix-Ausdrücke: Operator vor seinen beiden Operanden<br />

• Bsp: 2 3 + 4 5 * + entspricht infix (2 + 3) + (4 * 5)<br />

Die Präfix-Notation („polnische<br />

Notation“) wurde<br />

in den 1920er-Jahren<br />

vom polnischen<br />

Mathematiker<br />

Jan<br />

Lukasiewicz<br />

(1878–1956)<br />

entwickelt.<br />

182<br />

77

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!