4. Stabla - mata.fon.rsmata.fon.rs/skladiste/dms/nastava/7/slajd-DMS-11.pdf · Definicija 5.8.4....

Post on 26-Oct-2019

24 views 0 download

Transcript of 4. Stabla - mata.fon.rsmata.fon.rs/skladiste/dms/nastava/7/slajd-DMS-11.pdf · Definicija 5.8.4....

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