Upload
others
View
26
Download
0
Embed Size (px)
Citation preview
XI dvoqas veжbi
dr Vladimir Balti�
4. Stabla
Teorijski uvod
Teorijski uvod
Definicija 5.7.1. Stablo je povezan grafbez kontura.
Definicija 5.7.1. Stablo je povezan grafbez kontura.
Primer 5.7.1. Sva stabla sa 65 qvorova:
T. 5.7.1. Neka je Γ neorijentisan graf sa n
qvorova. Slede�i iskazi su ekvivalentni:
1◦ Γ je povezan graf koji ne sadrжi nijednukonturu.
2◦ Γ je povezan graf sa m = n − 1 grana.
3◦ Γ nema konture i ima m = n − 1 grana.
4◦ Γ je min. povezan graf.
5◦ Γ je maks. graf koji ne sadrжi konture.
6◦ Svaka dva qvora u Γ su povezanataqno jednim elementarnim putem i G nesadrжi petƩe.
Definicija. Dijametar grafa G = (V, E) jedat sa D(G) = max
u,v∈VdG(u, v).
Ekscentricitet qvora u je εG(u) = maxv∈V
dG(u, v).
Radijus grafa G je r(G) = minv∈V
εG(v).
Svi qvorovi v grafa za koje je εG(v) = r(G)obrazuju centar grafa.
Teorema. Centar stabla se sastoji ili odjednog qvora, ili od dva susedna qvora.
U svakom koraku izbacujemo listove sa svegranama koje vode do Ƭih.
U svakom koraku izbacujemo listove sa svegranama koje vode do Ƭih.
U svakom koraku izbacujemo listove sa svegranama koje vode do Ƭih.
U svakom koraku izbacujemo listove sa svegranama koje vode do Ƭih.
U svakom koraku izbacujemo listove sa svegranama koje vode do Ƭih.
Korenska stabla
Definicija 5.8.1. Korensko stablo jeure�en par RT = (T, r), gde je T stablo,a r Ƭegov qvor, koji se naziva koren stabla.
Definicija 5.8.1. Korensko stablo jeure�en par RT = (T, r), gde je T stablo,a r Ƭegov qvor, koji se naziva koren stabla.
Definicija 5.8.2. Nivo qvora v, n(v),korenskog stabla RT = (T, r) je duжina elem.puta u stablu T od korena r do qvora v.Najve�i nivo qvora u RT se naziva visinakorenskog stabla RT i oznaqava se sa h.
Definicija 5.8.2. Nivo qvora v, n(v),korenskog stabla RT = (T, r) je duжina elem.puta u stablu T od korena r do qvora v.Najve�i nivo qvora u RT se naziva visinakorenskog stabla RT i oznaqava se sa h.
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
Definicija 5.8.3. Neka je RT = (T, r)korensko stablo sa skupom qvorova V .
Svaki qvor iz V koji nema decu naziva se liststabla RT . Svaki qvor iz V , koji nije list,zove se unutraxƬi qvor stabla RT .
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
Definicija 5.8.4. Korensko stablo jebinarno stablo ako svaki Ƭegov un. qvor imanajvixe 2 deteta.
Striktno binarno stablo je bin. stablo qijisvaki un. qvor ima taqno 2 deteta.
Potpuno binarno stablo je striktno bin. st.kod koga svi listovi imaju isti nivo.
Definicija 5.8.4. Korensko stablo jebinarno stablo ako svaki Ƭegov un. qvor imanajvixe 2 deteta.
Striktno binarno stablo je bin. stablo qijisvaki un. qvor ima taqno 2 deteta.
Potpuno binarno stablo je striktno bin. st.kod koga svi listovi imaju isti nivo.
Definicija 5.8.5. Balansirano korenskostablo je korensko stablo u kome se nivoibilo koja dva Ƭegova lista razlikuju najvixeza 1, tj. oni su ili h ili h − 1.
Primer 5.9.4. Neka je slovo a kodirano sa10, b sa 101, e sa 11, m sa 1011 i n sa 110.Dekodirati niz bitova 1011110.
Primer 5.9.4. Neka je slovo a kodirano sa10, b sa 101, e sa 11, m sa 1011 i n sa 110.Dekodirati niz bitova 1011110.
RexeƬe. Da li �e niz bitova 1011110 pred-stavƩati req bea (101|11|10) ili mn (1011|110)ili aen (10|11|110)? Ne moжemo odrediti!
Primer 5.9.4. Neka je slovo a kodirano sa10, b sa 101, e sa 11, m sa 1011 i n sa 110.Dekodirati niz bitova 1011110.
RexeƬe. Da li �e niz bitova 1011110 pred-stavƩati req bea (101|11|10) ili mn (1011|110)ili aen (10|11|110)? Ne moжemo odrediti!
Za jednoznaqno dekodiraƬe dovoƩno je dase svaki od ovih kodova ne sadrжi ni u jednomdrugom kodu kao Ƭegov poqetni podniz.
Skup kodova koji zadovoƩava ovaj uslovzove se prefiksni kod.
Zadaci
4.33. 3. D grupa, II kolokvijum 2009.Date su frekvencije pojavƩivaƬa simbola:
simbol a d e n p rfrekvencija 12 9 8 11 10 7
a) Odrediti odgovaraju�e Hafmanovo stabloT (un. qv. oznaqavati sa T1, T2, T3, T4, T5), kao iodgovaraju�i Hafmanov kod.
b) hT =? n(v) =? T balans? T potpuno bin. st?
v) KLD, LKD i LDK obilazak.
g) Kodirati ,,napred“.
d) Dekodirati:011, 100, 000101, 101101001, 010000101.
simbol a d e n p rfrekvencija 12 9 8 11 10 7
simbol r e d p n afrekvencija 7 8 9 10 11 12
r e
0 1
15
7 8
T1
simbol r e d p n afrekvencija 7 8 9 10 11 12
︸ ︷︷ ︸
T1
15
r e d p
0 1 0 1
15 19
7 8 9 10
T1 T2
simbol d p n a T1
frekvencija 9 10 11 12 15︸ ︷︷ ︸
T2
19
n a
r e d p
0 1
0 1 0 1
23
11 12 15 19
7 8 9 10
T3
T1 T2
simbol n a T1 T2
frekvencija 11 12 15 19︸ ︷︷ ︸
T3
23
n a
r e d p
0 1 0 1
0 1 0 1
23 34
11 12 15 19
7 8 9 10
T3 T4
T1 T2
simbol T1 T2 T3
frekvencija 15 19 23︸ ︷︷ ︸
T4
34
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol T3 T4
frekvencija 23 34︸ ︷︷ ︸
T5
57
Kako crtamo Hafmanovo stablo?
Kako crtamo Hafmanovo stablo?Unazad, polaze�i od korena stabla!
57
23 34
T
T5
T3 T4
simbol T3 T4
frekvencija 23 34︸ ︷︷ ︸
T5
57
57
23 34
15 19
T
T5
T3 T4
T1 T2
simbol T1 T2 T3
frekvencija 15 19 23︸ ︷︷ ︸
T4
34
n a
57
23 34
11 12 15 19
T
T5
T3 T4
T1 T2
simbol n a T1 T2
frekvencija 11 12 15 19︸ ︷︷ ︸
T3
23
n a
d p
57
23 34
11 12 15 19
9 10
T
T5
T3 T4
T1 T2
simbol d p n a T1
frekvencija 9 10 11 12 15︸ ︷︷ ︸
T2
19
n a
r e d p
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol r e d p n afrekvencija 7 8 9 10 11 12
︸ ︷︷ ︸
T1
15
n a
r e d p
0
0 0
0 0
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
b) Visina stabla?
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
b) Visina stabla je h = 3 (r, e, d i p).
Balansirano?
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
b) Stablo je balansirano jer su svi listovina nivou h ili h − 1.
Potpuno binarno?
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
b) Nije potpuno binarno, jer nisu svi listovina nivou h = 3 (npr. a i n: n(a) = n(n) = 2).
Striktno binarno?
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
b) Stablo je striktno binarno, jer svaki un.qvor (T1, T2, T3, T4, T5) ima taqno 2 deteta.
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
b) Hafmanovo stablo je uvek striktno bin.
Prefiksni kod?
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
b) Hafmanov kod je prefiksni kod, jer nijedankod nije sadrжan u poqetku nekog drugog koda(ni 01, ni 00).
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
b) Hafmanov kod je uvek prefiksni kod.
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
v) KLD:
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
v) KLD: T5,T3,n,a,T4,T1,r,e,T2,d,p.
LKD:
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
v) KLD: T5,T3,n,a,T4,T1,r,e,T2,d,p.
LKD: n,T3,a,T5,r,T1,e,T4,d,T2,p.
LDK:
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
v) KLD: T5,T3,n,a,T4,T1,r,e,T2,d,p.
LKD: n,T3,a,T5,r,T1,e,T4,d,T2,p.
LDK: n,a,T3,r,e,T1,d,p,T2,T4,T5.
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
simbol a d e n p rfrekvencija 12 9 8 11 10 7
kod 01 110 101 00 111 100nivo 2 3 3 2 3 3
g) n00
a01
p111
r100
e101
d110.
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
d) 1. req 011
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
d) 1. req 01|1 (aT4) nije req date azbuke,2. req 100
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
d) 1. req 01|1 (aT4) nije req date azbuke,2. req 100 je ,,r“,3. req 000101
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
d) 1. req 01|1 (aT4) nije req date azbuke,2. req 100 je ,,r“,3. req 00|01|01 je ,,naa“,4. req 101101001
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
d) 1. req 01|1 (aT4) nije req date azbuke,2. req 100 je ,,r“,3. req 00|01|01 je ,,naa“,4. req 101|101|00|1 (eenT4) nije req date azbuke,5. req 010000101
n a
r e d p
0 1
0 1 0 1
0 1 0 1
57
23 34
11 12 15 19
7 8 9 10
T
T5
T3 T4
T1 T2
d) 1. req 01|1 (aT4) nije req date azbuke,2. req 100 je ,,r“,3. req 00|01|01 je ,,naa“,4. req 101|101|00|1 (eenT4) nije req date azbuke,5. req 01|00|00|101 je ,,anne“.
4.57. 3. oktobar 2014.Dat je izraz
(3b+2c) : (−a+ bc) u infiksnoj
notaciji.
a) Odrediti binarno stablo koje odgovaraovom izrazu. Kolika je visina ovog stabla?Odrediti nivo svakog lista u tom stablu.Da li je balansirano? Da li je striktno bi-narno? Da li je potpuno binarno stablo?
b) Odrediti dijametar i centar stabla T .
v) Odrediti redosled obilazaka qvorova sta-bla T pri KLD, LKD i LDK obilasku.
g) Napisati u prefiksnoj i postfiksnojnotaciji dati izraz.
4.60. 3. septembar 2013.a) Nacrtati binarno ure�eno stabla ako ele-menti dolaze slede�im redom:
12, 5, 20, 8, 3, 4, 1, 15, 18, 22, 25, 10, 13, 21, 7.
b) hT =? nivo svakog qvora? T balansirano?T striktno binarno? T potpuno bin. stablo?
v) KLD, LKD i LDK obilazak.
g) Izraqunati sredƬi broj pristupa qvorovi-ma stabla pri neuspexnom traжeƬu broja x.(Smatra se da je qitaƬe jednog qvora – jedanpristup.)
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
x < 2
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
x < 2 42 < x < 5
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
x < 2 42 < x < 5 45 < x < 7
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
x < 2 42 < x < 5 45 < x < 7 57 < x < 8
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
2 < x < 5 45 < x < 7 57 < x < 8 58 < x < 9
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
5 < x < 7 57 < x < 8 58 < x < 9 59 < x < 15
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
7 < x < 8 58 < x < 9 59 < x < 15 515 < x < 20
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
8 < x < 9 59 < x < 15 515 < x < 20 220 < x < 26
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
9 < x < 15 515 < x < 20 220 < x < 26 326 < x < 28
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
15 < x < 20 220 < x < 26 326 < x < 28 328 < x < 30
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
20 < x < 26 326 < x < 28 328 < x < 30 330 < x < 38
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
26 < x < 28 328 < x < 30 330 < x < 38 4
x > 38
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pris.
26 < x < 28 328 < x < 30 330 < x < 38 4
x > 38 4
broj pristupa qvorovima stabla pri neuspex-nom traжeƬu
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pr.
x < 2 4
2 < x < 5 4
5 < x < 7 5
7 < x < 8 5
8 < x < 9 5
9 < x < 15 5
x br.pr.
15 < x < 20 2
20 < x < 26 3
26 < x < 28 3
28 < x < 30 3
30 < x < 38 4
x > 38 4
broj.pris. qvorovima stabla pri neuspexnomtraжeƬu za a < x < b je max{n(a), n(b)}+ 1!
2
3 3
4 4
0
1 1
2 2
32
5
7
8
9
15
20
26
28
30
38
h=4
x br.pr.
x < 2 4
2 < x < 5 4
5 < x < 7 5
7 < x < 8 5
8 < x < 9 5
9 < x < 15 5
x br.pr.
15 < x < 20 2
20 < x < 26 3
26 < x < 28 3
28 < x < 30 3
30 < x < 38 4
x > 38 4
KRAJ QASA