Skip to main content.

Definícia

Strom je označenie pre dôležitú dynamickú štruktúru. Stromy sa používajú v prípade hierarchických vzťahov a rekurzívnych štruktúr objektov.

Je definovaný nasledujúcim spôsobom: Štruktúra strom so základným typom T je buď prázdna štruktúra, alebo vrchol typu T spolu s konečným počtom pripojených disjunktných stromových štruktúr so základným typom T, ktoré nazývame podstromy.
Strom je vo svojej podstate súvislý, acyklický a neorientovaný graf. Keď je neorientovaný graf síce acyklický, ale môže byť rozložený do viacerých komponentov, voláme ho les.

Nech G = (V, E) je neorientovaný graf. Potom nasledujúce tvrdenia sú ekvivalentné (uvádzané bez dôkazu). ^ TOP

Vlastnosti

Usporiadaný strom je taký, v ktorom sú vetvy každého vrcholu usporiadané. Z toho vyplýva, že napríklad dva stromy na obrázku v časti vizualiácia sú rozdielne objekty. Vrchol y, ktorý je bezprostredne pod vrcholom x, sa nazýva (priamy) nasledovník vrcholu x. Ak existuje hrana z vrcholu u do vrcholu w, tak potom u je otcom w a w je synom u. Ak je vrchol x na i-tej úrovni, tak y bude na (i+1)-tej úrovni. O vrchole x potom hovoríme, že je priamy predchodca vrcholu y. Koreň stromu je na nultej úrovni. Maximálna úroveň ľubovolného prvku v strome sa volá hĺbka alebo výška.

Ak nejaký prvok nemá nasledovníkov, nazýva sa koncový prvok alebo list stromu. Prvok, ktorý nie je listom, nazývame vnútorným vrcholom. Počet (priamych) nasledovníkov vnútorného vrcholu nazývame jeho stupňom. Maximálny stupeň spomedzi všetkých vrcholov určuje stupeň stromu. Počet vetiev (hrán) alebo vrcholov, ktoré treba prejsť, aby sme sa dostali od koreňa k vrcholu x sa nazýva dĺžka cesty vrcholu x. Vo všeobecnosti platí, že dĺžka cesty vrcholu na i-tej úrovni sa rovná hodnote i. Dĺžka cesty celého stromu je definovaná ako súčet dĺžok ciest jednotlivých vrcholov stromu.

^ TOP

Reprezentácia stromov

Keďže stromy sú rozvetvené rekurzívne štruktúry je výhodné na ich reprezentáciu použiť smerníky. Nemá ale zmysel definovať premenné s pevnou stromovou štruktúrou. Vrcholy stromu sú preto definované ako premenné s pevnou štruktúrou, teda pevne stanoveného typu a kde stupeň stromu určuje počet smerníkov na podstromy daného vrcholu. Odkaz na prázdny strom sa vyjadruje konštantou nil.
Stromy sa dajú reprezentovať aj ako pole záznamov (array of record), kde každý záznam obsahuje relevantné informácie ohľadom vrchola.

^ TOP

Vizualizácia

Na obrázkoch je rôznymi spôsobmi zobrazený ten istý strom. Najprv je to pomocou uzátvorkovného zápisu, potom pomocou množinových diagramov a nakoniec pomocou najčastejšieho grafického zobrazenia.
strom2
strom1 strom3
Ak je strom usporiadaný, nasledujúce stromy sú dva rôzne objekty.
strom4
Reprezentácia výrazu (a+b/c)*(d-e*f) a reprezentácia toho istého výrazu v strome ako dátovej štruktúre vyjadrenej pomocou smerníkov.
strom5 strom6

^ TOP