3.	Structuri arborescente
3.1.	Arbori cu arce orientate spre descendenţi
Fişierele HTML, prin relaţiile care se stabilesc între ele, se dispun pe niveluri astfel încât componentele de pe nivelul i+1 sunt considerate descendenţi în timp ce componentele de pe nivelul i sunt părinţii componentelor de pe nivelul i+1, ca în Fig. 4.1.1.

Ti1

Ti+1 1

Ti+1 2

Ti2

Ti+1 3

Ti+1 4

Ti3

Ti+1 5

Ti+1 6

nivelul i
componente părinte

nivelul i+1
componente descendenţi

Fig. 4.1.1 – Raportul descendent-părinte

	Dacă o componentă Tij de pe nivelul i are kj descendenţi Ti+1 k1, Ti+1 k2, …, Ti+1 kj, atunci în interiorul fişierului tij.html se inserează cele kj referiri obţinându-se construcţia dată în Fig. 4.1.2.

Fişier HTML ij (tij.html)
<html>
<head>
<title>Despre originea curcubeului</title>
</head>
<body>
<p>Curcubeul este un fenomen a cărui origine o putem considera finală sieşi. Cauza sa provoacă numai propria sa cauză.</p>
<p align=”right”>Nichita Stănescu</p>
<a href=”ti+1k1.html”>Salt la textul Ti+1k1</a>
<a href=”ti+1k2.html”>Salt la textul Ti+1k2</a>
…
<a href=”ti+1kj.html”>Salt la textul Ti+1kj</a>
</body>
</html>
Fig. 4.1.2 – Conţinutul unui fişier HTML părinte conţinând kj descendenţi

	De exemplu, pentru un text T de geometrie se consideră dispunerea în textele:
T1 – geometria se ocupă cu reprezentările în plan şi în spaţiu a unor figuri şi corpuri
T2 – geometria plană se ocupă cu reprezentările în spaţiul bidimensional a figurilor
T3 – geometria în spaţiu studiază corpurile în spaţiu tridimensional
T4 – triunghiul
T5 – dreptunghiul
T6 – trapezul
T7 – paralelipipedul
T8 – conul
T9 – piramida
T10 – sfera
Fig. 4.1.3 – Text uniform pentru geometrie

	Acestor texte li se asociază structura arborescentă cu arce spre descendenţi dată în Fig. 4.1.4.

T1

T2

T3

T4

T5

T6

T7

T8

T9

T10

 

Fig. 4.1.4 – Structură arborescentă organizată pe trei niveluri

Componentele de pe nivelul cel mai de jos nu au descendenţi şi se numesc frunze. Pentru exemplul din Fig. 4.1.3 se construieşte succesiunea de fişiere dată în Fig. 4.1.5.

Fişier HTML 1 (t1.html)
<html>
<head>
<title>Geometrie</title>
</head>
<body>
<p>Geometrie …</p>
<a href=”t2.html”>Geometrie plană</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
</body>
</html>

Fişier HTML 2 (t2.html)
<html>
<head>
<title>Geometrie plană</title>
</head>
<body>
<p>Geometrie plană …</p>
<a href=”t4.html”>Triunghiul</a>
<a href=”t5.html”>Dreptunghiul</a>
<a href=”t6.html”>Trapezul</a>
</body>
</html>

Fişier HTML 3 (t3.html)
<html>
<head>
<title>Geometrie în spaţiu</title>
</head>
<body>
<p>Geometrie în spaţiu …</p>
<a href=”t7.html”>Paralelipipedul</a>
<a href=”t8.html”>Conul</a>
<a href=”t9.html”>Piramida</a>
<a href=”t10.html”>Sfera</a>
</body>
</html>

Fişier HTML 4 (t4.html)
<html>
<head>
<title>Triunghiul</title>
</head>
<body>
<p>Triunghiul …</p>
</body>
</html>

Fişier HTML 5 (t5.html)
<html>
<head>
<title>Dreptunghiul</title>
</head>
<body>
<p>Dreptunghiul …</p>
</body>
</html>

Fişier HTML 6 (t6.html)
<html>
<head>
<title>Trapezul</title>
</head>
<body>
<p>Trapezul …</p>
</body>
</html>

Fişier HTML 7 (t7.html)
<html>
<head>
<title>Paralelipipedul</title>
</head>
<body>
<p>Paralelipipedul …</p>
</body>
</html>

Fişier HTML 8 (t8.html)
<html>
<head>
<title>Conul</title>
</head>
<body>
<p>Conul …</p>
</body>
</html>

Fişier HTML 9 (t9.html)
<html>
<head>
<title>Piramida</title>
</head>
<body>
<p>Piramida …</p>
</body>
</html>

Fişier HTML 10 (t10.html)
<html>
<head>
<title>Sfera</title>
</head>
<body>
<p>Sfera …</p>
</body>
</html>
Fig. 4.1.5 – Structura arborescentă asociată unui text de prezentare a geometriei

	Pentru structuri de acelaşi tip dezvoltate extensiv, prototipul prezentat se actualizează corespunzător.

3.2.	Structuri arborescente cu referire de la frunze spre rădăcină
Se consideră o structură arborescentă având textul T0 numit rădăcină şi textele TF1, TF2, …, TFn numite frunze. La mulţimea arcelor de la părinte spre descendenţi se adaugă şi arcele de la frunze spre rădăcină, obţinându-se o construcţie asemenea celei dată în Fig. 4.2.1.

T1

T2

T3

T4

T5

T6

T7

T8

T9

T10

 

Fig. 4.2.1 – Structura arborescentă pentru geometrie cu arce şi de la frunze spre rădăcină

Modificările textului dat în Fig. 4.1.5 constau în introducerea legăturilor către fişierul t1.html în toate fişierele aferente frunzelor. Textul corespunzător pentru structura arborescentă având referirea rădăcinii de la nivelul fiecărei frunze este dat în Fig. 4.2.2.

Fişier HTML 1 (t1.html)
<html>
<head>
<title>Geometrie</title>
</head>
<body>
<p>Geometrie …</p>
<a href=”t2.html”>Geometrie plană</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
</body>
</html>

Fişier HTML 2 (t2.html)
<html>
<head>
<title>Geometrie plană</title>
</head>
<body>
<p>Geometrie plană …</p>
<a href=”t4.html”>Triunghiul</a>
<a href=”t5.html”>Dreptunghiul</a>
<a href=”t6.html”>Trapezul</a>
</body>
</html>

Fişier HTML 3 (t3.html)
<html>
<head>
<title>Geometrie în spaţiu</title>
</head>
<body>
<p>Geometrie în spaţiu …</p>
<a href=”t7.html”>Paralelipipedul</a>
<a href=”t8.html”>Conul</a>
<a href=”t9.html”>Piramida</a>
<a href=”t10.html”>Sfera</a>
</body>
</html>

Fişier HTML 4 (t4.html)
<html>
<head>
<title>Triunghiul</title>
</head>
<body>
<p>Triunghiul …</p>
<a href=”t1.html”>Salt la textul rădăcină</a>
</body>
</html>

Fişier HTML 5 (t5.html)
<html>
<head>
<title>Dreptunghiul</title>
</head>
<body>
<p>Dreptunghiul …</p>
<a href=”t1.html”>Salt la textul rădăcină</a>
</body>
</html>

Fişier HTML 6 (t6.html)
<html>
<head>
<title>Trapezul</title>
</head>
<body>
<p>Trapezul …</p>
<a href=”t1.html”>Salt la textul rădăcină</a>
</body>
</html>

Fişier HTML 7 (t7.html)
<html>
<head>
<title>Paralelipipedul</title>
</head>
<body>
<p>Paralelipipedul …</p>
<a href=”t1.html”>Salt la textul rădăcină</a>
</body>
</html>

Fişier HTML 8 (t8.html)
<html>
<head>
<title>Conul</title>
</head>
<body>
<p>Conul …</p>
<a href=”t1.html”>Salt la textul rădăcină</a>
</body>
</html>

Fişier HTML 9 (t9.html)
<html>
<head>
<title>Piramida</title>
</head>
<body>
<p>Piramida …</p>
<a href=”t1.html”>Salt la textul rădăcină</a>
</body>
</html>

Fişier HTML 10 (t10.html)
<html>
<head>
<title>Sfera</title>
</head>
<body>
<p>Sfera …</p>
<a href=”t1.html”>Salt la textul rădăcină</a>
</body>
</html>
Fig. 4.2.2 – Texte HTML asociate structurii arborescente cu referirea rădăcinii

O astfel de construcţie este necesară situaţiei în care după traversarea unui traseu se impune revenirea la prima secvenţă de text a aplicaţiei.

3.3.	Structura arborescentă cu arce duble
Structura arborescentă cu arce duble reprezintă o construcţie în cazul căreia nodurile descendente au legături de la părinte spre ele şi există arce şi dinspre descendenţi spre părinte, ca în Fig. 4.3.1.

T1

T2

T3

T4

T5

T6

T7

T8

T9

T10

 

Fig. 4.3.1 – Structură arborescentă cu legături duble

	Pentru textul uniform prezentat în Fig. 4.1.3, folosind modelul legăturilor din Fig. 4.3.1, se construieşte textul structurat din Fig. 4.3.2.

Fişier HTML 1 (t1.html)
<html>
<head>
<title>Geometrie</title>
</head>
<body>
<p>Geometrie …</p>
<a href=”t2.html”>Geometrie plană</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
</body>
</html>

Fişier HTML 2 (t2.html)
<html>
<head>
<title>Geometrie plană</title>
</head>
<body>
<p>Geometrie plană …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t4.html”>Triunghiul</a>
<a href=”t5.html”>Dreptunghiul</a>
<a href=”t6.html”>Trapezul</a>
</body>
</html>

Fişier HTML 3 (t3.html)
<html>
<head>
<title>Geometrie în spaţiu</title>
</head>
<body>
<p>Geometrie în spaţiu …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t7.html”>Paralelipipedul</a>
<a href=”t8.html”>Conul</a>
<a href=”t9.html”>Piramida</a>
<a href=”t10.html”>Sfera</a>
</body>
</html>

Fişier HTML 4 (t4.html)
<html>
<head>
<title>Triunghiul</title>
</head>
<body>
<p>Triunghiul …</p>
<a href=”t2.html”>Geometrie plană</a>
</body>
</html>

Fişier HTML 5 (t5.html)
<html>
<head>
<title>Dreptunghiul</title>
</head>
<body>
<p>Dreptunghiul …</p>
<a href=”t2.html”>Geometrie plană</a>
</body>
</html>

Fişier HTML 6 (t6.html)
<html>
<head>
<title>Trapezul</title>
</head>
<body>
<p>Trapezul …</p>
<a href=”t2.html”>Geometrie plană</a>
</body>
</html>

Fişier HTML 7 (t7.html)
<html>
<head>
<title>Paralelipipedul</title>
</head>
<body>
<p>Paralelipipedul …</p>
<a href=”t3.html”>Geometrie in spaţiu</a>
</body>
</html>

Fişier HTML 8 (t8.html)
<html>
<head>
<title>Conul</title>
</head>
<body>
<p>Conul …</p>
<a href=”t3.html”>Geometrie in spaţiu</a>
</body>
</html>

Fişier HTML 9 (t9.html)
<html>
<head>
<title>Piramida</title>
</head>
<body>
<p>Piramida …</p>
<a href=”t3.html”>Geometrie in spaţiu</a></body>
</html>

Fişier HTML 10 (t10.html)
<html>
<head>
<title>Sfera</title>
</head>
<body>
<p>Sfera …</p>
<a href=”t3.html”>Geometrie in spaţiu</a></body>
</html>
Fig. 4.3.2 – Text structurat cu legături duble

	Legăturile duble în structura arborescentă vizează pe de o parte relaţiile părinte-descendent, iar pe de altă parte descendenţii aparţinând aceluiaşi nivel, ca în Fig. 4.3.3.

T1

T2

T3

T4

T5

T6

T7

T8

T9

T10

 

Fig. 4.3.3 – Legături între niveluri şi pe acelaşi nivel

	Construcţia este caracteristică situaţiilor în care informaţiile aceluiaşi nivel se utilizează pentru a soluţiona o problemă dată. Faţă de textul uniform prezentat în Fig. 4.1.5, pentru structura arborescentă cu legături părinte descendent şi legături orizontale din Fig. 4.3.3 se construieşte textul următor (Fig. 4.3.4).

Fişier HTML 1 (t1.html)
<html>
<head>
<title>Geometrie</title>
</head>
<body>
<p>Geometrie …</p>
<a href=”t2.html”>Geometrie plană</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
</body>
</html>

Fişier HTML 2 (t2.html)
<html>
<head>
<title>Geometrie plană</title>
</head>
<body>
<p>Geometrie plană …</p>
<a href=”t3.html”>Geometrie în spaţiu</a>
<a href=”t4.html”>Triunghiul</a>
<a href=”t5.html”>Dreptunghiul</a>
<a href=”t6.html”>Trapezul</a>
</body>
</html>

Fişier HTML 3 (t3.html)
<html>
<head>
<title>Geometrie în spaţiu</title>
</head>
<body>
<p>Geometrie în spaţiu …</p>
<a href=”t7.html”>Paralelipipedul</a>
<a href=”t8.html”>Conul</a>
<a href=”t9.html”>Piramida</a>
<a href=”t10.html”>Sfera</a>
</body>
</html>

Fişier HTML 4 (t4.html)
<html>
<head>
<title>Triunghiul</title>
</head>
<body>
<p>Triunghiul …</p>
<a href=”t5.html”>Dreptunghiul</a>
</body>
</html>

Fişier HTML 5 (t5.html)
<html>
<head>
<title>Dreptunghiul</title>
</head>
<body>
<p>Dreptunghiul …</p>
<a href=”t6.html”>Trapezul</a>
</body>
</html>

Fişier HTML 6 (t6.html)
<html>
<head>
<title>Trapezul</title>
</head>
<body>
<p>Trapezul …</p>
</body>
</html>

Fişier HTML 7 (t7.html)
<html>
<head>
<title>Paralelipipedul</title>
</head>
<body>
<p>Paralelipipedul …</p>
<a href=”t8.html”>Conul</a>
</body>
</html>

Fişier HTML 8 (t8.html)
<html>
<head>
<title>Conul</title>
</head>
<body>
<p>Conul …</p>
<a href=”t9.html”>Piramida</a>
</body>
</html>

Fişier HTML 9 (t9.html)
<html>
<head>
<title>Piramida</title>
</head>
<body>
<p>Piramida …</p>
<a href=”t10.html”>Sfera</a>
</body>
</html>

Fişier HTML 10 (t10.html)
<html>
<head>
<title>Sfera</title>
</head>
<body>
<p>Sfera …</p>
</body>
</html>
Fig. 4.3.4 – Structura arborescentă asociată unui text de prezentare a geometriei

	În acelaşi mod se dezvoltă construcţiile arborescente cu legături totale care includ:
-	referiri părinte-descendenţi
-	referiri descendenţi spre rădăcină
-	referiri duble pe orizontală
-	referiri descendenţi-părinte

Această structură cu grad ridicat de complexitate este prezentată în Fig. 4.3.5. 

T1

T2

T3

T4

T5

T6

T7

T8

T9

T10

 

Fig. 4.3.5 – Structură arborescentă cu legături multiple

	Construcţiei din figura anterioară (Fig. 4.3.5) îi corespunde textul dat în Fig. 4.3.6.

Fişier HTML 1 (t1.html)
<html>
<head>
<title>Geometrie</title>
</head>
<body>
<p>Geometrie …</p>
<a href=”t2.html”>Geometrie plană</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
</body>
</html>

Fişier HTML 2 (t2.html)
<html>
<head>
<title>Geometrie plană</title>
</head>
<body>
<p>Geometrie plană …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
<a href=”t4.html”>Triunghiul</a>
<a href=”t5.html”>Dreptunghiul</a>
<a href=”t6.html”>Trapezul</a>
</body>
</html>

Fişier HTML 3 (t3.html)
<html>
<head>
<title>Geometrie în spaţiu</title>
</head>
<body>
<p>Geometrie în spaţiu …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t2.html”>Geometrie plană</a>
<a href=”t7.html”>Paralelipipedul</a>
<a href=”t8.html”>Conul</a>
<a href=”t9.html”>Piramida</a>
<a href=”t10.html”>Sfera</a>
</body>
</html>

Fişier HTML 4 (t4.html)
<html>
<head>
<title>Triunghiul</title>
</head>
<body>
<p>Triunghiul …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t2.html”>Geometrie plană</a>
<a href=”t5.html”>Dreptunghiul</a>
</body>
</html>

Fişier HTML 5 (t5.html)
<html>
<head>
<title>Dreptunghiul</title>
</head>
<body>
<p>Dreptunghiul …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t2.html”>Geometrie plană</a>
<a href=”t4.html”>Triunghiul</a>
<a href=”t6.html”>Trapezul</a>
</body>
</html>

Fişier HTML 6 (t6.html)
<html>
<head>
<title>Trapezul</title>
<a href=”t1.html”>Geometrie</a>
<a href=”t2.html”>Geometrie plană</a>
<a href=”t5.html”>Dreptunghiul</a>
</head>
<body>
<p>Trapezul …</p>
</body>
</html>

Fişier HTML 7 (t7.html)
<html>
<head>
<title>Paralelipipedul</title>
</head>
<body>
<p>Paralelipipedul …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
<a href=”t8.html”>Conul</a>
</body>
</html>

Fişier HTML 8 (t8.html)
<html>
<head>
<title>Conul</title>
</head>
<body>
<p>Conul …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
<a href=”t7.html”>Paralelipipedul</a>
<a href=”t9.html”>Piramida</a>
</body>
</html>

Fişier HTML 9 (t9.html)
<html>
<head>
<title>Piramida</title>
</head>
<body>
<p>Piramida …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
<a href=”t8.html”>Conul</a>
<a href=”t10.html”>Sfera</a>
</body>
</html>

Fişier HTML 10 (t10.html)
<html>
<head>
<title>Sfera</title>
</head>
<body>
<p>Sfera …</p>
<a href=”t1.html”>Geometrie</a>
<a href=”t3.html”>Geometrie în spaţiu</a>
<a href=”t9.html”>Piramida</a>
</body>
</html>
Fig. 4.3.6 – Text uniform cu referiri multiple

	Acest tip de construcţie este specific organizaţiilor în care accesul trebuie făcut spre toate direcţiile pentru a satisface cerinţele de moment ale utilizatorilor care doresc fie să revină asupra unei secvenţe de text folosind referirea descendent-părinte, fie să treacă de la detalierea unui aspect, folosind referirea părinte-descendent, fie să treacă în revistă elemente cunoscute de pe acelaşi nivel, folosind referirea la stânga fie, respectiv, să continue cu traversarea elementelor cu acelaşi grad, în continuare, folosind referirea spre dreapta.