Strom je matematická abstrakce organizace dynamických množin, kterou v běžném životě používáme (možná nevědomě) velice často.
Příkladem může být rodokmen, tedy například struktura z druhé kapitoly, omezíme-li se na svoje rodiče, rodiče rodičů atd. (obr.). Podobně průběh sportovní soutěže založené na vylučovacím principu, kdy dál postupuje jeden ze soupeřů, lze vyjádřit stromem. Také organizaci knížky, která obsahuje kapitoly, ty podkapitoly atd. lze znázornit pomocí stromu. Na obr.
je příklad pro knižku Herout P.: Učebnice jazyka Java. V počítači může být ve formě stromu organizován systém souborů uložených v adresářích, které definujeme rekurzivně jako množinu souborů a adresářů.
Prvky v dynamické množině organizované jako strom nazýváme vrcholy.
Některé vrcholy jsou spojeny a toto spojení nazýváme hranou.
Strom potom můžeme rekurzivně definovat následovně
a) Jeden vrchol je strom. Tento vrchol je také kořenem takovéhoto stromu.
b) Nechť x je vrchol a T1, T2, ..., Tn jsou stromy. Strom je vrchol x spojený s kořeny stromů T1, T2, ..., Tn.
V tomto stromě je x kořenem stromu.
Stromy T1, T2, ..., Tn se nazývají podstromy. Jejich kořeny jsou (přímými) následníky vrcholu x a vrchol x je jejich (přímým) předchůdcem. Někdy je vhodné zahrnout mezi stromy i prázdnou množinu vrcholů.
Vrchol, který nemá následníky se nazývá listem. Vrchol, který není listem se nazývá vnitřním vrcholem. Kořen stromu nemá žádné předchůdce.
Cesta je posloupnost vrcholů, ve které po sobě jdoucí vrcholy jsou spojeny hranou. Délka cesty je počet hran cesty. Délku cesty z vrcholu k sobě samému potom můžeme definovat jako nulovou. Ke každému vrcholu je z kořene právě jedna cesta. Hloubka vrcholu ve stromě (úroveň, na které se nachází) je definována jako délka této cesty. Úroveň (hloubka) kořene stromu je tedy nulová. Výška stromu je maximální hloubka vrcholu stromu.
Množina přímých následníků může být uspořádaná, například při grafickém zobrazení zleva doprava. V příkladu rodokmenu (obr.) pokud je vlevo otec a vpravo matka, je takovýto strom různý od stromu, ve kterém je vlevo matka a vpravo otec, i když oba stromy na jednotlivých úrovních mají tytéž prvky. Důležitou třídou takových stromů jsou binární stromy, kterými se budeme zabývat v následujícím článku..