Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuHannes Halonen Muutettu yli 9 vuotta sitten
1
Graafi G - terminologia Ei-tyhjä solmujen/kärkien (vertex) joukko V(G) Kaarien (edge) joukko E(G) Suuntaamaton (G 1 ), Suunnattu (G 2 ) solmu kaari
2
Graafi G - terminologia V(G 1 )={0,1,2,3,4,5,6}, E(G 1 )={(0,1),(0,2),(1,3),(1,4),(2,5),(2,6) V(G 2 )={0,1,2} E(G 2 )={,, }
3
Graafin sovelluksia GraafiSolmuKaari tietoliikennepuhelin, tietokonevalokaapeli piiriprosessorijohto talousosake, valuuttatransaktio liikennelentokenttälentoreitti ohjelmistotfunktiofunktiokutsu internetwww-sivuhyperlinkki sosiaaliset suhteet ihmiset, näyttelijätystävyys suhde, roolijako pelitpelitilannesallitut siirrot
4
Joitain suuntamattoman graafin ongelmia Onko solmusta s polkua solmuun t ? Kahden solmun välinen lyhin reitti ? Kahden solmun välinen pisin reitti ? Onko graafissa syklejä ? Mikä on paras tapa kytkeä kaikki solmut ? Voiko graafin piirtää tasossa ilman että kaaret risteävät ? Esittävätkö kaksi vierusmatriisia samaa graafia ?
5
Joitain suunnatun graafin ongelmia Onko solmusta s suunnattua polkua solmuun t ? Mikä on www-sivun tärkeys (googlen mukaan)?
6
Graafin toteutus vierusmatriisilla Taulukossa on arvo 1 paikassa silloin, kun kahden solmun v i ja v j välillä on kaari; muutoin 0.
7
Graafin toteutus vieruslistalla Vieruslista Käänteinen vieruslista
8
Graafin toteutus vieruslistalla Vieruslista #define KARKIA 50 typedef struct vierussolmu_t { int karki; struct vierussolmu_t *linkki; } vierussolmu, *vierusosoitin; vierusosoitin graafi[KARKIA]; int n = 0; /* vierusosoittimia käytössä */
9
Graafin leveyshaku 1. Merkitään aloitussolmu v vierailluksi 2. Lisätään solmu v jonoon 3. Toistetaan kunnes jono on tyhjä 4. Seuraava kärki v jonosta käsittelyyn 5. Vieraile v:hen kytketyissä ei-vierailluissa solmuissa w 6. Lisää w jonoon 7. Merkitse w vierailluksi
10
Graafin leveyshaku ja lyhin etäisyys aloitussolmuun 1. Merkitään aloitussolmu a vierailluksi 2. Lisätään solmu v=a jonoon 3. Merkitään etäisyys solmusta v solmuun a nollaksi 4. Toistetaan kunnes jono on tyhjä 5. Seuraava kärki v jonosta käsittelyyn 6. Vieraile v:hen kytketyissä ei-vierailluissa solmuissa w 7. Lisää w jonoon 8. Merkitse w vierailluksi 9. Etäisyys a:ta w:hen on etäisyys a:sta v:hen + 1
11
Graafin leveyshaku Laita solmut joissa ei ole vierailtu jonoon 6 0 3 5 1 42
12
Graafin leveyshaku Aloitetaan solmusta 2 => 2 jonon hännille 6 0 3 5 1 42 2 Jono SolmuEtäisyys 20
13
Graafin leveyshaku Solmu 2 jonon päästä käsittelyyn 6 0 3 5 1 42 SolmuEtäisyys 20 Jono
14
Graafin leveyshaku Vieraillaan 2:n kytketyssä solmussa 0 6 0 3 5 1 42 0 Jono SolmuEtäisyys 20 01
15
Graafin leveyshaku Vieraillaan 2:n kytketyssä solmussa 1 6 0 3 5 1 42 10 Jono SolmuEtäisyys 20 01 11
16
Graafin leveyshaku Vieraillaan 2:n kytketyssä solmussa 3 6 0 3 5 1 42 310 Jono SolmuEtäisyys 20 01 11 31
17
Graafin leveyshaku Solmu 0 jonon päästä 6 0 3 5 1 42 31 Jono SolmuEtäisyys 20 01 11 31
18
Graafin leveyshaku 0:n kytketyssä 1:ssa ollaan jo vierailtu 6 0 3 5 1 42 31 Jono SolmuEtäisyys 20 01 11 31
19
Graafin leveyshaku Vieraillaan 0:n kytketyssä solmussa 4 6 0 3 5 1 42 43 Jono 1 SolmuEtäisyys 20 01 11 31 42
20
Graafin leveyshaku Solmu 1 jonon päästä käsittelyyn 6 0 3 5 1 42 43 Jono SolmuEtäisyys 20 01 11 31 42
21
Graafin leveyshaku 1:n kytketyssä 0:ssa ollaan jo vierailtu 6 0 3 5 1 42 43 Jono SolmuEtäisyys 20 01 11 31 42
22
Graafin leveyshaku 0:n kytketyssä 2:ssa ollaan jo vierailtu 6 0 3 5 1 42 43 Jono SolmuEtäisyys 20 01 11 31 42
23
Graafin leveyshaku Solmu 3 jonon päästä käsittelyyn 6 0 3 5 1 42 4 Jono SolmuEtäisyys 20 01 11 31 42
24
Graafin leveyshaku 3:n kytketyssä 2:ssa ollaan jo vierailtu 6 0 3 5 1 42 4 Jono SolmuEtäisyys 20 01 11 31 42
25
Graafin leveyshaku Solmu 4 jonon päästä käsittelyyn 6 0 3 5 1 42 Jono SolmuEtäisyys 20 01 11 31 42
26
Graafin leveyshaku 4:n kytketyssä 0:ssa ollaan jo vierailtu 6 0 3 5 1 42 Jono SolmuEtäisyys 20 01 11 31 42
27
Graafin leveyshaku Jono on tyhjä 6 0 3 5 1 42 Jono SolmuEtäisyys 20 01 11 31 42
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.