Documente Academic
Documente Profesional
Documente Cultură
09 - Structuri Arborescente
09 - Structuri Arborescente
Structuri arborescente
Definiie. Graful este arbore dac este aciclic i conex.
1 2 3 4
3
4
4
5 6 7
2 5 7
2 5 6 8 9
Structuri arborescente
Definiie. Fie = (, ) graf arbore. Subgraful = (1, 1) al lui este subarbore al lui dac este graf arbore.
1 2 8 2 3 4 5 6 7 1
3 4 5 6
1 2 8 2 3 4 5 6 7
3 4
Structuri arborescente
Fie = (, ) un graf. Urmtoarele afirmaii snt echivalente: este graf arbore (aciclic i conex); este graf conex minimal: prin eliminarea oricrei muchii, graful rezultat nu este conex; este graf aciclic maximal: 9 adugarea unei noi = prin muchii n graf rezult cel puin un ciclu. = 8
1 Cum verificm dac un graf este arbore? 2 Verificare conexitate + verificare aciclicitate (alg. Marimont) 8 3 Verificare aciclicitate i = +1 (n nr. vrfuri, m nr. muchii) 4 Verificare conexitate i = +1 5 6 7
Structuri arborescente
Definiie. Se numete graf asimetric un digraf = (, ) cu proprietatea c pentru orice , . Digraful D este simetric dac pentru orice i .
2 1 5 3 4 7 6
3 4 7 1 5 6 2
Graf asimetric
Graf simetric
Structuri arborescente
Definiie. Fie = (, ) digraf netrivial. Graful = (, ), unde = *| + se numete graf suport al digrafului D.
2 1 5 3 4 7 6
Graf suport
2 1 5 3 4 7 6
Structuri arborescente
Definiie. Un arbore direcionat este un graf orientat asimetric pentru care graful suport corespunztor este graf arbore. Definiie. Arborele direcionat = (, ) este arbore cu rdcin dac exist astfel nct, pentru orice , GS 1 1 G1 , exist r-u drum n8 . Vrful r se numete rdcina8 4 4 arborelui direcionat (drumurile2snt unice, rdcina este 2 unic; lungimea unui drum este egal cu numrul de arce). 3 7 3 7
G2
1 10 4 8 1 10 4 8
Pentru un arbore 5 5 2 2 Definiie. Fie = (, ) arbore direcionat. 6 cu rdcin, 6 orice 9 7 Arborele 3 = (1,10 1) este subarbore al lui3 T dac 10 nod , 1 i T este arbore direcionat. este rdcina 1Arbore asimetric Graf orientat Graf suport 1 direcionat 1 5 5 unui subarbore.
6 9 6
10
11
12
13
14
15 9 16 10
11
12
13
14
15
16
Se pot folosi toate tipurile de reprezentare a grafurilor, plus metode specifice arborilor.
Reprezentarea Fiu-Frate
N: numrul de noduri R: eticheta nodul rdcin FIU(i): eticheta primului descendent al vrfului i FRATE(i): eticheta vrfului descendent al tatlui vrfului i i
spre INF(i): informaia ataat vrfului i dreapta, conform reprezentrii grafice adesea informaia e chiar valoarea i, caz n care
vectorul INF nu mai e necesar Valoare lips (fiu, frate): se folosete o valoare convenional (0, -1)
Reprezentarea Fiu-Frate
1
N = 16, R=1
4
10
11
12
13
14
15
1 2 3 4 5 6 7
9 10 11 12 13 14 15 16
FIU
=(2,5,0,8,0,9,0,14, 0, 0, 0, 0, 0, 0, 0, 0)
Null
Null
Null
Null
Null
Adr. fiu 1
Null
Null
Null
Null
7 6 5
Null Adr. fiu 1
Null
Null
Null
Adr. fiu 1
Adr. fiu 2
Adr. fiu 3
Null
Null
16
Null
Null
Null
Null
Null
adres fiu 1
13 12 11 10
Null Null Null Null Null Null Null Null Null Null Null
Null
15 14
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Parcurgeri
Aplicarea sistematic a unei reguli de vizitare a
vrfurilor arborelui.
Cele mai utilizate reguli de parcurgere a arborilor orientai snt
A-preordine (variant DF)
A-postordine (variant DF) parcurgerea pe niveluri (BF)
10
11
12
13
14
15
16
10
11
12
13
14
15
16
12
13
14
15
16
}
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
Arbori pariali
Definiie. Fie un graf. Subgraful parial este un arbore parial al lui dac este graf arbore. Definiie. Fie = (, , ) un graf ponderat conex. Dac = (, 0) este un arbore parial al grafului = (, ), ponderea arborelui , notat (), este definit prin () =
0
()
Definiie. Arborele parial 0 () este arbore parial minim pentru dac (0) = min*(); ()+, unde () este mulimea arborilor pariali ai grafului .
Arbori pariali
1 1 4 4 3 2 3 3 8 7 3 6 5 4 2 7 3 2 3
P = 22
4
1 1 4
2 3 8 6 5 4 2 7 3
P = 20
4
1 1 4
P = 15
1 1 4
3 3 7 3 6 2
2 3 3 6 7 5 4 2 7
3 2
2
2
8 1 4
6
9
4
Nr. arc curent
3
Vectorul Tata
Arc curent
2 1 2 1 3 1 4 5 3 3 3
3 1 6 2 4 2 5 3 4 4 2 4 6 8 6 8 6 9 5 12 4 5
v v v v x v
1
4 2 3
2
2 1
i j
Nr. arce selectate
0 1 2 3 4 5
0 1 2 3 4 4
-1, -1, -1, -1, -1) -2, 2, -1, -1, -1) -2, 2, -1, -1, 1) -3, 2, 2, -1, 1) -3, 2, 2, 1, 1) 1, 2, 2, 1, 1)
cost
total
1 2 2 3 4
0 1 3 5 8 8 12
2,
2,
1,
1)
Spor la nvat!