Binary Bäume (BTS) sind Datenstrukturen, die von Computer-Programmierer , dessen Software muss repräsentieren mittlere bis große Datenmengen in einer organisierten , strukturierten Art und Weise verwendet . Ein BT besteht aus einer übergeordneten Knoten mit maximal zwei optionale untergeordnete Knoten : eine linke und eine rechte Kind Kind. Anwendungsspezifische Datenstrukturen wie Suchbäume , Halden und Ausdruck Bäume sind einfach Sammlungen von einzelnen BTs zusammen, um eine gemeinsame Datensatz bilden verknüpft. Es gibt drei verschiedene Methoden zum Durchlaufen BTs : Preorder-Traversierung , inorder Traversal und Postorder Traversal . Preorder Traversal
Preorder Traversal besucht Baumknoten in dieser Reihenfolge : Elternteil, Kind links , rechts Kind. Einige Anwendungen der Preorder-Traversierung sind die Auswertung von Ausdrücken in Präfixnotation und die Verarbeitung der abstrakten Syntax Bäume von Compilern . Der folgende Pseudocode zeigt die genaue Vorgehensweise für eine Preorder-Traversierung :
---------------------- VERFAHREN PreOrder ( Binary_Tree_Node T) BEGINProcessNode (T) Wenn (T linken Kind ist NOT NULL) BEGINPreOrder (T linken Kind) endif (T das Recht Kind ist NOT NULL) BEGINPreOrder (T das Recht Kind) ENDEND
Inorder Traversal
Inorder Traversal besucht Baumknoten in dieser Reihenfolge : links Kind, Eltern , Kind Recht . Binäre Suchbäume ( eine spezielle Art von BT) verwenden inorder Traversal , um alle ihre Daten in alphanumerischer Reihenfolge zu drucken. Der folgende Pseudocode zeigt die genaue Vorgehensweise für eine inorder Traversal :
---------------------- VERFAHREN KontoAnmeldenBestellübersichtIhr ( Binary_Tree_Node T) BEGINIf (T linken Kind ist NOT NULL) BEGINInOrder (T linken Kind) ENDProcessNode (T) Wenn (T das Recht Kind ist NOT NULL) BEGINInOrder (T das Recht Kind) ENDEND ------------------- -
Postorder Traversal
Postorder Traversal besucht Baumknoten in dieser Reihenfolge : links Kind , rechte Kind , Elternteil. Eine beliebte Anwendung für den Einsatz von Postorder Traversal ist die Auswertung von Ausdrücken in Postfix-Notation . Der folgende Pseudocode zeigt die genaue Vorgehensweise für eine Postorder Traversal :
---------------------- VERFAHREN postOrder ( Binary_Tree_Node T) BEGINIf (T linken Kind ist NOT NULL) BEGINPostOrder (T linken Kind) endif (T das Recht Kind ist NOT NULL) BEGINPostOrder (T das Recht Kind) ENDProcessNode (T ) END ------------------- -