Die Bezeichnung "Binary Tree" hängt von seiner Datenstruktur ab. Er
ist aufgebaut wie ein Baum mit Wurzel (Root=Ursprungsknoten), Zweigen
(Nodes) und Blättern (Leafs= Nodes ohne Childnodes). Ein guter
Vergleich ist ein Familien-Stammbaum. Der "Binary" Tree steht für
Trees mit zwei Childnodes und der "Ternary" Tree für Trees mit drei
Childnodes. Wir nutzen Trees für die Repräsentation von Daten in
hierarchischen/ geordneten Strukturen. So beispielsweise für
Datenbanken (trees for indexing), für Autocompletion(z.B. in Chrome,
vergangene Websuchen), für Compilers (Syntax tree to parse
expressions) oder für Compressions (JPEG, MP3).
Es wird zwischen "Binary Trees" und "Binary Search Trees"
unterschieden. Bei "Binary Search Trees" sind die Knoten wie folgt
geordnet:
left< node< right
Das bedeutet, der linke Childnode ist in der Struktur immer kleiner
als der Parentnode, welcher wiederum kleiner als der rechte Knoten
ist.
Dadurch eigenen sich Binary Search Trees, wie der Name es schon
vermuten lässt, ausgezeichnet für das finden von Werten.
In linearen Datenstrukturen, wie z.B. der Linked List, gibt es eine klare Richtung zum Durchlaufen der Struktur. Bei Trees gibt es unterschiedliche Wege.