Een dendroid is een boom met de volgende eigenschappen:
* Het is verbonden.
* Het is acyclisch.
* Het heeft een enkel hoofdknooppunt.
* Alle niet-rootknooppunten hebben precies één ouderknooppunt.
Dendroids worden vaak gebruikt om hiërarchische gegevensstructuren weer te geven, zoals bestandssystemen of organisatiehiërarchieën. Ze worden ook gebruikt in computergraphics om objecten met vertakkende structuren weer te geven, zoals bomen of planten.
Dendroids kunnen worden weergegeven met behulp van een verscheidenheid aan datastructuren, waaronder arrays, gekoppelde lijsten en bomen. De meest voorkomende representatie is de aangrenzende lijst, een array van lijsten, waarbij elke lijst de indices bevat van de onderliggende knooppunten van het overeenkomstige ouderknooppunt.
Om een pad van een knooppunt naar zijn wortel in een dendroid te vinden, kan men eenvoudigweg de boom doorkruisen, de ouderaanwijzers volgen, totdat het wortelknooppunt wordt bereikt. De lengte van het pad is gelijk aan het aantal randen in het pad, wat gelijk is aan het aantal voorouders van het knooppunt.
De hoogte van een dendroid is de lengte van het langste pad van een knooppunt naar zijn wortel. De diameter van een dendroid is het maximum van de hoogten van zijn subbomen.
Dendroids kunnen worden gebruikt om verschillende problemen in de informatica op te lossen, waaronder:
* Het vinden van de laagste gemeenschappelijke voorouder van twee knooppunten.
* Het pad vinden van een knooppunt naar zijn wortel.
* Het vinden van de hoogte en diameter van een boom.
* Het genereren van een willekeurig dendrogram.
Dendroids zijn een veelzijdige en efficiënte datastructuur die kan worden gebruikt om een verscheidenheid aan hiërarchische datastructuren weer te geven. Ze worden veel gebruikt in de informatica en hebben een rijke wiskundige theorie.