Aufgabe 1

Durch folgende Definitionen sei ein Binärbaum gegeben:

TYPE    Tree = POINTER TO Node;
        Node = RECORD
                   number: CARDINAL;
                   left, right: Tree;
               END;

Schreiben Sie eine rekursive Funktions-Prozedur summe, die die Summe der Knoteninhalte (Record-Komponente number) zurückliefert.

PROCEDURE summe(root: Tree):CARDINAL;

Lösung

PROCEDURE summe(root: Tree):CARDINAL;
BEGIN
  IF root = NIL THEN
      RETURN 0 
  ELSE 
      RETURN (root^.number + summe(root^.left) + summe(root^.right) )
  END;
END summe;