Teil 7: Bäume Beispiele (1)
Teil 7: Bäume Beispiele (1)
Teil 7: Bäume Beispiele (1)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
PreOrder-Durchlauf für Binärbäume<br />
Algorithmus<br />
void preOrder(Node* p)<br />
{<br />
if (p != 0)<br />
{<br />
bearbeite(p->data);<br />
preOrder(p->left);<br />
preOrder(p->right);<br />
}<br />
}<br />
Beispiel<br />
*<br />
- c<br />
// Definition eines Baums:<br />
struct Node<br />
{<br />
int data;<br />
Node* left; // linkes Kind<br />
Node* right; // rechtes Kind<br />
};<br />
Node* root;<br />
…<br />
// Aufruf von preorder<br />
preOrder(root);<br />
Durchlaufreihenfolge:<br />
* - a b c<br />
a<br />
b<br />
O. Bittel; Sept. 2008 Programmiertechnik 2 - <strong>Bäume</strong> 7-15<br />
PostOrder-Durchlauf für Binärbäume<br />
Algorithmus<br />
void postOrder(Node* p)<br />
{<br />
if (p != 0)<br />
{<br />
postOrder(p->left);<br />
postOrder(p->right);<br />
bearbeite(p->data);<br />
}<br />
}<br />
Beispiel<br />
*<br />
- c<br />
Durchlaufreihenfolge:<br />
a b – c *<br />
(Entspricht der sog. Postfix-Notation für<br />
arithmetische Ausdrücke)<br />
a<br />
b<br />
O. Bittel; Sept. 2008 Programmiertechnik 2 - <strong>Bäume</strong> 7-16