Wenn wir einen Baum als eine teilweise geordnete Menge betrachten, wird er zu einem Sonderfall eines Join-Semilattice. Für ein Join-Semilattice möchten wir in der Lage sein, die (eindeutige) kleinste Obergrenze von zwei Elementen (mehr oder weniger) effizient zu berechnen. Im Fall eines Baums würde eine Datenstruktur, die dies ermöglichen würde, für jedes Element in dem entsprechenden Knoten einen Zeiger auf das übergeordnete Element und ein Abstandsmaß zur Wurzel speichern. (Tatsächlich ist eine Kennzeichnung basierend auf der topologischen Sortierung, die normalerweise für "ein Abstandsmaß zur Wurzel" verwendet wird, praktisch alles, was benötigt wird, eine kompatible Teilreihenfolge, die effizient ausgewertet werden kann.)
Jedes endliche Verknüpfungshalbgitter kann als eine Menge von Teilmengen einer endlichen Menge mit Einschluss in einer solchen Reihenfolge dargestellt werden, dass die kleinste Obergrenze durch die Vereinigung der Mengen gegeben ist. Daher wäre es eine mögliche Datenstruktur, jedes Element durch eine endliche Anzahl von Tags darzustellen und die kleinste Obergrenze durch die Vereinigung der entsprechenden Tags zu berechnen. (Wenn man sich das Komplement anschaut, sieht man, dass es auch möglich wäre, die kleinste Obergrenze als Schnittmenge der entsprechenden Tags zu definieren.) Eine weitaus häufigere Datenstruktur besteht darin, einfach eine Matrix zu verwenden, um alle Ergebnisse von "a <=" zu speichern b "oder sogar alle Ergebnisse von" join (a, b) ".
Eine solche Datenstruktur zur Darstellung eines Baums zu verwenden, wäre jedoch etwas seltsam. Gibt es mehr baumartige Datenstrukturen für Join-Semilattices, die noch eine (mehr oder weniger) effiziente Berechnung der (eindeutigen) kleinsten Obergrenze zweier Elemente ermöglichen? (Vielleicht eine Art gerichteter azyklischer Graph mit zusätzlichen Informationen in den Knoten, ähnlich dem Abstandsmaß zur Wurzel für den Baum?)