Dendroid je strom, který má následující vlastnosti:
* Je připojeno.
* Je acyklický.
* Má jeden kořenový uzel.
* Všechny jeho nekořenové uzly mají přesně jeden nadřazený uzel.
Dendroidy se často používají k reprezentaci hierarchických datových struktur, jako jsou systémy souborů nebo organizační hierarchie. Používají se také v počítačové grafice k reprezentaci objektů s větvenými strukturami, jako jsou stromy nebo rostliny.
Dendroidy lze reprezentovat pomocí různých datových struktur, včetně polí, propojených seznamů a stromů. Nejběžnější reprezentací je seznam sousedství, což je pole seznamů, kde každý seznam obsahuje indexy podřízených uzlů odpovídajícího nadřazeného uzlu.
Chcete-li najít cestu od uzlu k jeho kořenu v dendroidu, můžete jednoduše procházet stromem podle rodičovských ukazatelů, dokud nedosáhnete kořenového uzlu. Délka cesty je rovna počtu hran v cestě, který se rovná počtu předků uzlu.
Výška dendroidu je délka nejdelší cesty od uzlu k jeho kořenu. Průměr dendroidu je maximum výšek jeho podstromů.
Dendroidy lze použít k řešení různých problémů v informatice, včetně:
* Hledání nejnižšího společného předka dvou uzlů.
* Nalezení cesty od uzlu k jeho kořenu.
* Zjištění výšky a průměru stromu.
* Generování náhodného dendrogramu.
Dendroidy jsou všestrannou a efektivní datovou strukturou, kterou lze použít k reprezentaci různých hierarchických datových struktur. Jsou široce používány v informatice a mají bohatou matematickou teorii.