Strom je datová struktura skládající se z uzlů spojených hranami, kde každý uzel může mít libovolný počet potomků. Strom má jednoho kořenového uzlu, který je výchozím bodem stromu, a všechny ostatní uzly jsou buď vnitřní uzly s jedním rodičem a několika potomky, nebo listy bez potomků. Strom je acyklický, což znamená, že neobsahuje žádné cykly, a je orientovaný, pokud hrany mají směr. Stromy jsou používány v informatice pro reprezentaci hierarchických datových struktur a jsou základním prvkem v algoritmech a datových strukturách.
Strom je datová struktura složená z uzlů, z nichž každý obsahuje data, seznam odkazů na jiné uzly (dětské uzly) a odkaz na svůj rodičovský uzel. Říká se, že je Turing-úplný, pokud může být použit k reprezentaci libovolné výpočetní funkce nebo k ukládání a manipulaci s libovolnou datovou strukturou. Strom může být také označen jako konečný, pokud jsou jeho uzly uspořádány tak, že z každého uzlu vede pouze jedna cesta k jakémukoli jinému uzlu. V stromu může každý uzel mít tolik odkazů na dětské uzly, kolik chce, ale dětský uzel může mít pouze jeden odkaz na svůj rodičovský uzel. Prázdný strom je strom, který neobsahuje žádné uzly.