grafovi i stabla

12
1 TEORIJA GRAFOVA 2 DEO PREDSTAVLJANJE GRAFOVA U RAČUNARU ŠETNJE PO GRAFU Definicija: Šetnja W u grafu G je niz 0 1 1 2 , , , , , , t t W veve ev , gde su 0 1 , , , t v v v , čvorovi, a i e grana koja spaja čvorove 1 i i v v , 1, , i t . Duţina putanje W je t. Ukoliko je 0 t v v radi se o zatvorenoj šetnji. Ovako definisana šetnja dozvoljava ponavljanje čvorova i grana. Ona se moţe zamisliti kao marš-ruta opušrenog šetača. Ako zabranimo ponavljanje grana dobijamo stazu, A ako ne dozvolimo nikakvo ponavljanje dobijamo put. MATRICA SUSEDSTVA Grafovi se mogu upotrebiti za modeliranje i rešavanje mnogih praktičnih problema. Takve probleme rešavamo pomoću računara i posebno pisanih programa. Za predstavljanje grafova preko računara koriste se matrice. Matrica susedstva je najčešća matrična interpretacija grafova. Matrica susedstva, je matrica koja na poziciji preseka i-te vrste i j-te kolone sadrţi 1, ako je i-ti čvor spojen sa j-tim čvorom, inače je 0. Definicija: Matrica susedstva grafa , G VE je kvadratna matrica V V , za koju vaţi 1, , 0, , uv E A uv E Matrica susedstva je kvadratna matrica, simetrična u odnosu na glavnu dijagonalu. Primer: Grafu na slici odgovara matrica susedstva

Upload: vladimir-miljkovic

Post on 08-Jul-2015

2.295 views

Category:

Education


5 download

DESCRIPTION

Miljkovic Vladimir

TRANSCRIPT

Page 1: grafovi  i  stabla

1

T E O R I J A G R A F O V A 2 D E O

P R E D S T A V L J A N J E G R A F O V A U

R A Č U N A R U

ŠETNJE PO GRAFU

Definicija:

Šetnja W u grafu G je niz 0 1 1 2, , , , , ,t tW v e v e e v , gde su 0 1, , , tv v v , čvorovi, a ie

grana koja spaja čvorove 1i iv v , 1, ,i t . Duţina putanje W je t. Ukoliko je 0 tv v radi

se o zatvorenoj šetnji.

Ovako definisana šetnja dozvoljava ponavljanje čvorova i grana. Ona se moţe zamisliti

kao marš-ruta opušrenog šetača.

Ako zabranimo ponavljanje grana dobijamo stazu, A ako ne dozvolimo nikakvo

ponavljanje dobijamo put.

MATRICA SUSEDSTVA

Grafovi se mogu upotrebiti za modeliranje i rešavanje mnogih praktičnih problema.

Takve probleme rešavamo pomoću računara i posebno pisanih programa. Za

predstavljanje grafova preko računara koriste se matrice.

Matrica susedstva je najčešća matrična interpretacija grafova. Matrica susedstva, je

matrica koja na poziciji preseka i-te vrste i j-te kolone sadrţi 1, ako je i-ti čvor spojen sa

j-tim čvorom, inače je 0.

Definicija:

Matrica susedstva grafa ,G V E je kvadratna matrica V V , za koju vaţi

1, ,

0, ,

u v EA

u v E

Matrica susedstva je kvadratna matrica, simetrična u odnosu na glavnu dijagonalu.

Primer:

Grafu na slici odgovara matrica susedstva

Page 2: grafovi  i  stabla

2

a

b

c

d

e1e2

e3 e4

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

a b c d

a

b

c

d

Kako oznake čvorova u većini slučajeva nisu vaţne, matrice se pišu bez oznaka.

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

.

Primer:

Usmerenom (orijentisanom) grafu sa slike odgovara matrica susedstva

a

b

c

0 1 1

1 1 1

0 0 0

a b c

a

b

c

Matrice susedstva zahtevju 2n ( n je broj čvorova ) memoriskih jedinica , bez obzira

koliki je broj grana u grafu.Značii koriste dosta memorijskog prostora i veoma su

nepraktične za grafove sa malim brojem grana što je u praksi čest slučaj.

Sa druge strane one mogu da se koriste i za grafove, i multigrafove ( digfraove ). Tada ,

na poziciju preseka i-te vrste i j-te kolone treba staviti broj grana koje spajaju i-ti čvor sa

Page 3: grafovi  i  stabla

3

j-tim čvorom. U slučaju da je graf neorijentisan skoro 50% memoriskih jedinica moţemo

uštedeti ako se pamte samo elementi ispod ili iznad glavne dijagonale , zato što je

matrica simetrična. MeĎutim kako je jednostavno napisati programe u kojima se koriste matrice ovo je danas

najzastupljeniji način za predstavljanje

MATRICE INCIDENCIJE

Definicija:

Kada je ,e u v E kaţemo da su čvorovi u i v incidentni sa granom e.

Neka je G=(V,E) graf. Neka je B matrica čije su vrste obeleţene čvorovima grafa , a

kolone granama grafa. Element ijb , jednak je 1 ako je i-ti čvor incidentan

j-toj grani , a jednak nuli u protivnom. Matrica B se zove incidencije grafa G.

Primer:

Grafu na slici odgovara matrica incidencije

a

b

c

d

e1e2

e3 e4

1 2 3 4

1 1 1 0

1 0 0 0

0 0 1 1

0 1 0 1

e e e e

a

b

c

d

.

Matrice incidencije kogu se koristiti i kod grafova sa petljama.

Primer:

Grafu na slici odgovara matrica incidencije

Page 4: grafovi  i  stabla

4

a

b

c d

e1

e2

e3e4

e5

1 2 3 4 5

1 1 1 0 0

1 0 0 0 0

0 0 1 1 0

0 0 0 1 0

e e e e e

a

b

c

d

Matrice susedstva i incidencije imaju osobinu da njihovi stepeni daju informaciju o

susedstvu čvorova i šetnjama proizvoljnih duţina.

Teorema:

Ako je A matrica grafa G, 0k N , gde su ,u v , čvorovi, onda element ,

k

u vA jednak

broju šetnji duţine k od u do v.

Šetnja duţine 0 sastoji se samo od jednog čvora.

0

0 0

1,, , ,

0,

u vw u v A I w u v

u v.

Ovo je jedan od načina da se odredi rastojanje izmeĎu čvorova.

Primer:

Uočimo matricu 2

1 0 0 1 1 0 0 1

1 0 1 0 1 0 1 0

0 0 0 1 0 0 0 1

1 1 1 0 1 1 1 0

A .

Uočimo na primer da je 2

12 11 21 12 22 13 32 14 42

1 0 0 0 0 0 1 1 0 0 0 1 1

a a a a a a a a a

Page 5: grafovi  i  stabla

5

Kako je 2

12 1a i pošto su 14 421, 1a a , postoji grana od čvora 1 do čvora 4 i na isti

način od čvora 4 do čvora 2. Na osnovu toga postoji put duţine 2 od čvora 1 do čvora 2.

Tada moţemo zaključiti da ja 2 1ijA ako postoji pu duţine 2 od čvora i do čvora j.

Ali za 2

34 31 14 32 24 33 34 34 44

0 1 0 0 0 1 1 0 0 0 0 0 0

a a a a a a a a a

I zaključujemo da ne postoji put duţine 2 od čvora 3 do čvora 4.

STABLA

Stabla ili drveta predstavljaju najjednostavniju, ali i najvaţniju klasu grafova.

Definicija:

Stablo ili drvo je povezan graf koji ne sadrţi cikluse ili konture.

Stablo je povezan graf sa v čvorova i m=n-1 grana.

Stablo je graf sa v čvorova i m=n-1 grana i bez kontura.

Stablo je minimalno povezan graf.

Stablo je maksimalan graf bez kontura.

Stablo sadrţi bar dva čvora stepena 1.

Za svaki par čvorova u,v postoji tačno jedan put koji ih povezuje.

Stablo je bipartitivni graf.

Stablo je planarni graf.

Page 6: grafovi  i  stabla

6

Definicija:

Šuma je graf kome su komponente stabla.

Primer:

Graf na sledećoj slici nije stablo jer sadrţi ciklus.

Porodična stabla su je jedna vrsta stabla. Organizaciona struktura firme su takoĎe vrsta

stabala.

Definicija:

Usmereno stablo predstavlja usmereni graf bez petlji i čiji je noseći graf stablo, takvo da

ako postoji put od čvora a do čvora b, a taj put je jedinstven.

Čvor na vrhu stabla naziva se korenom.

Page 7: grafovi  i  stabla

7

Definicija:

Stablo u kome je jedan čvor posebno označen naziva se koreno stablo. Označeni čvor

naziva se koren stabla.

a

Korensko stablo moţe da bude i orijentisano. Grane se orijentišu od čvorova manjih

nivoa, ka čvorovima viših nivoa.Ulazni stepen korena je 0, dok je ulazni stepen ostalih

čvorova u korenskom stablu jednak 1.

Svaki čvor korenog stabla povezan je jedinstvenim putem za koren stabla. Broj grana

u ovom putu predstavlja nivo tog čvora. Koren stabla ima nivo 0, a najveći nivo imaju

od korena najudaljeniji čvorovi.

Nivo 0

Nivo 1

Nivo 2

Čvorovi do kojih vode grane koje polaze iz čvora x, nazivaju se sinovi čvora x, a sam

čvor x je njihov otac. Svi predhodni čvorovi u odnosu na x nazivaju se predci, a

naredni, potomci.

Čvor bez dece naziva se list. Listovi su završni čvorovi.

Listovi su čvorovi stepena 1.

Ostali čvorovi se nazivaju unutrašnjim čvorovima.

Page 8: grafovi  i  stabla

8

Visina stabla je duţina najduţeg mogućeg puta od korena do lista.

Ako je najveći izlazni stepen, bilo kog čvora stabla, jednak m, tada se to stablo naziva

m- arnim stablom. U posebnom slučaju, ako je m=2, dobijamo binarno stablo.

U binarnom stablu svaki otac ima tačno 2 sina i svako dete se posmatra kao levo ili

desno dete.

Ako su u binarnom stablu završni čvorovi svi istog nivoa, binarno stablo se naziva

potpuno.

Nivo 0

Nivo 1

Nivo 2

Nivo 3

Na nivou k postoji tačno 2k čvorova.

Ako potpuno binarno stablo ima pored nivoa 0 još k nivoa, tada je broj čvorova n u

stablu jednak 2 11 2 2 2 2 1k kn

Broj završnih čvorova ( listova ) je 1

22

k n, a ostalih

12 1

2

k n.

Primer:

Iskazna formula p q q r p , moţe se predstaviti stablom

p q q r p

p q q rp

p

p q q r

rqp

q

q

Svakom pojavljivanju iskaznog slova u formuli odgovara u stablu jedan čvor stepena 1.

ostalim čvorovima odgovaraju vrednosti koje se dobijaju primenom podformule.

Page 9: grafovi  i  stabla

9

BINARNA STABLA PRETRAGE

Binarna stabla predstavljaju odličnu metodu za ureĎivanje podataka , tako da se svaki

podatak moţe lako pronaći ili utvrditi šta nedostaje.

Iz tih razloga mora da postoji neko ureĎenje, numeričko ili alfabetsko.

Primer.

Pretpostavimo da ţelimo da poreĎamo sledeća imena: Petar, ĐorĎe, Sima, Helena, Stoja,

Rista, Dunja, Martin, Vasa i Laza.

Poćićemo od imena Petra koje ćemo postaviti za koren stabla. Pošto se ime ĐorĎe nalazi

u nizu posle njega, a abecedno je ispred imena Petar, on će postati njegovo levo dete.

Petar

Djordje

Sledeće ime je Sima, koje se nalazi iza imena Petar, pa će zato postati njegovo desno

dete.

Petar

DjordjeSima

Sledeće ime Helena. Abecedno je ispred imena Petar i spuštamo se do levog deteta,

ĐorĎe, a kako je abecedno ispred imena ĐorĎe, to je njegovo levo dete.

Petar

DjordjeSima

Helena

Ako bi ovako nastavili do kraja dobili bismo stablo

Page 10: grafovi  i  stabla

10

Petar

DjordjeSima

Helena

Dunja

Martin

Rista

Stoja

Laza

Problem Kenisberških mostova se ne moţe svesti na Ojlerov ciklus, pa samim time se

zaključuje da je nemoguće da se svaki most preĎe samo jedanput, a da se vratimo u

početnu tačku.

PITANJA I ZADACI:

1. Šta je stablo?

2. Koji od sledećih grafova predstavljaju stablo?

1 2

3

4

v0

v1 v3

v2

v4

v5

Odgovor: 1,2,4.( stablo 3 ima ciklus )

3. Koliko grana ima stablo sa 5 čvorova?

Odgovor:

Ako su v čvorovi, a e grane , dobijamo 1 5 1 4e v .

4. Koliko čvorova ima stablo sa 5 grana?

Page 11: grafovi  i  stabla

11

Odgovor:

1 5 1 6v e .

5. U slučaju 1 zadatka 2 nacrtati koreno stablo i upotrebiti čvor v1 kao koren.

Odgovor:

v0

v1

v3

v2

v4 v5

Koristeći dobijeno stablo;

6. Odrediti potomke čvora v3.

Odgovor: v4, v5

7. Odrediti pretke čvora v5.

Odgovor: v3, v1.

8. Odrediti roditelje čvora v3.

Odgovor: v1.

9. Odrediti decu čvora v1.

Odgovor: v0,v2,v3.

10. Odrediti listove.

Odgovor: v0,v2,v4,v5.

11. Odrediti nivo čvora v3.

Odgovor:1

12. Odrediti visinu stabla.

Odgovor:2

13. U slučaju 1 nacrtati koreno stablo i upotrebiti čvor v3 kao koren.

14. Šta je binarno stablo? ( nacrtati primer )

15. Šta je potpuno binarno stablo? ( nacrtati primer )

16. Kako glasi obrazac za izračunavanje broja čvorova potpunog binarnog stabla?

17. Šta je list?

18. Koliko čvorova ima potpuno binarno stablo sa 4 nivoa?

Odgovor: 0 1 2 3 4 52 2 2 2 2 2 1 31n .

Page 12: grafovi  i  stabla

12

19. Koliko završnih čvorova ima potpuno binarno stablo sa 7 čvorova?

Odgovor:

1 7 12 4

2 2

k n.

20. Konstruisati binarno stablo koje sadrţi imena data poreĎana u abecednom

poretku: Ana, Vanja, Dušan, Mile, Ţika, Mladen, Predrag.

21. Pretraţi da li se ime Dragan nalazi u stablu iz predhodnog zadatka.

22. Konstruisati binarno stablo koje sadrţi brojeve poreĎana u numeričkom poretku:

25, 15,27,48,36, 2,44,18, 30,42,11,9,32.

23. Opišite binarno stablo koje predstavlja najgori mogući slučaj za pterraţivanje.