Kartojimas Apibrimas Grafas G vadinamas planariuoju jeigu jis
Kartojimas
Apibrėžimas. Grafas G vadinamas planariuoju, jeigu jis gali būti pavaizduotas taip, kad jo briaunos nesikirstų.
a b c 1 2 3 Nėra planarūs
a b c 1 2 3
Tarkime, grafą galima pavaizduoti taip, kad jo briaunos nesikirstų. Klausimas – kaip tai padaryti?
1 žingsnis: išrenkame kokį nors paprastą ciklą, pvz. , {1, 2, 3, 4, 5, 6, 1} Gavome dvi sritis. Išrinktą pografį pažymėkime ant pradinio grafo
8 1 1 žingsnis: išrenkame kokį nors paprastą ciklą, pvz. , {2, 3, 4, 5, 6, 7, 2} 2 7 6 2 3 6 7 1 3 5 4 5 8 7 3 4 5 6 4 2
8 1 7 2 6 3 5 2 4 7 7 2 6 3 1 3 6 7 5 8 5 6 3 4 4 2 5 4
8 1 7 2 6 3 5 2 4 7 7 2 6 3 1 3 6 7 5 8 5 6 3 4 4 2 5 4
8 1 7 2 6 3 5 2 1 3 6 7 7 2 7 4 5 8 5 6 3 4 4 2 6 3 1 5 4
8 1 7 2 6 3 5 2 1 3 6 7 7 2 7 4 5 4 3 1 5 8 5 2 8 6 3 4 6 4
5 Medžių saugojimas masyvo pavidalu 6 2 9 1 3 8 4 7 5 6 2 9 3 8 4 7
Medžių saugojimas masyvo pavidalu 5 6 2 2 2 9 9 3 8 6 9 8 8 4 4 7 7 6 2 4 9 9 8 6 2 2 9 8 6 6 9
Medžių „atstatymas“ iš masyvo Masyvas: 2, 4, 6, 4, 9, 2, 6 Viršūnė 1 2 3 4 5 6 7 8 9 Skaičius 0 2 0 2 0 0 1 +1 5 2 6 2 4 6 4 9 1 3 8 9 2 6 4 7
Medžių „atstatymas“ iš masyvo Masyvas: 2, 4, 6, 4, 9, 2, 6 Viršūnė 1 2 3 4 5 6 7 8 9 Skaičius 0 2 0 2 0 0 1 +1 1 3 1 3 1 1 2 5 2 6 2 4 6 4 9 1 3 8 9 2 6 4 7
Medžių „atstatymas“ iš masyvo Masyvas: 2, 4, 6, 4, 9, 2, 6 Viršūnė 1 2 3 4 5 6 7 8 9 Skaičius 0 2 0 2 0 0 1 +1 1 3 1 3 1 1 2 2 0 2 1 3 1 1 2 5 6 2 4 6 4 9 1 3 8 9 2 6 4 7
Medžių „atstatymas“ iš masyvo Masyvas: 2, 4, 6, 4, 9, 2, 6 Viršūnė 1 2 3 4 5 6 7 8 9 Skaičius 0 2 0 2 0 0 1 +1 1 3 1 3 1 1 2 2 0 2 1 3 1 1 2 4 0 2 1 3 1 1 2 6 4 5 6 2 9 1 3 8 9 2 6 4 7
Medžių „atstatymas“ iš masyvo Masyvas: 2, 4, 6, 4, 9, 2, 6 Viršūnė 1 2 3 4 5 6 7 8 9 Skaičius 0 2 0 2 0 0 1 +1 1 3 1 3 1 1 2 2 0 2 1 3 1 1 2 4 0 2 1 3 1 1 2 6 0 2 0 2 1 1 2 4 5 6 2 9 1 3 8 9 2 6 4 7
Medžių „atstatymas“ iš masyvo Masyvas: 2, 4, 6, 4, 9, 2, 6 Viršūnė 1 2 3 4 5 6 7 8 9 Skaičius 0 2 0 2 0 0 1 +1 1 3 1 3 1 1 2 2 0 2 1 3 1 1 2 4 0 2 1 3 1 1 2 6 0 2 0 2 1 1 2 4 0 2 0 1 2 5 6 2 9 1 3 8 9 2 6 4 7
Medžių „atstatymas“ iš masyvo Masyvas: 2, 4, 6, 4, 9, 2, 6 Viršūnė 1 2 3 4 5 6 7 8 9 Skaičius 0 2 0 2 0 0 1 +1 1 3 1 3 1 1 2 2 0 2 1 3 1 1 2 4 0 2 1 3 1 1 2 6 0 2 0 2 1 1 2 4 0 2 0 1 2 9 0 2 0 0 0 2 0 1 1 2 0 1 0 0 0 2 0 0 1 6 5 6 2 9 1 3 8 4 7
Medžių „atstatymas“ iš masyvo Masyvas: 2, 4, 6, 4, 9, 2, 6 Viršūnė 1 2 3 4 5 6 7 8 9 Skaičius 0 2 0 2 0 0 1 +1 1 3 1 3 1 1 2 2 0 2 1 3 1 1 2 4 0 2 1 3 1 1 2 6 0 2 0 2 1 1 2 4 0 2 0 1 2 9 0 2 0 0 0 2 0 1 1 2 0 1 0 0 0 2 0 0 1 6 0 0 0 1 5 6 2 9 1 3 8 4 7
Grafo ciklas, einantis per visas grafo briaunas, vadinamas Oilerio ciklu. Grafą, turintį Oilerio ciklą, vadina Oilerio grafu. Jei visų grafo viršūnių laipsniai yra nemažesni už 2, tai grafas turi bent vieną ciklą. Jungusis neorientuotas grafas turi Oilerio ciklą tada ir tik tada, kai visų grafo viršūnių laipsniai yra lyginiai skaičiai. Jei lygiai dviejų viršūnių laipsniai yra nelyginiai skaičiai, tai egzistuoja Oilerio kelias. Jis eina per visas briaunas, o jo pradžia ir pabaiga yra viršūnėse, kurių laipsniai nelyginiai. 4 nelyginiai, nėra nei Oilerio ciklo, nei Oilerio kelio 2 nelyginiai, yra Oilerio kelias visi lyginiai, yra Oilerio ciklas
Hamiltono grafas Hamiltono keliu (ciklu) vadinama paprastoji atviroji (uždaroji) grandinė, einanti per visas grafo viršūnes. Grafas, turintis Hamiltono ciklą, vadinamas Hamiltono grafu.
Rasti uždarinį
Rasti uždarinį (atlikti kelis pirmus žingsnius)
Keliaujančio pirklio uždavinys
Pigiausios jungties algoritmas: b 14 10 11 13 15 a c 14 18 12 13 e 1. Imama mažiausio svorio briauna 17 d 2. Iš likusių briaunų išrenkama mažiausio svorio briauna ir pridedama į maršrutą, jeigu a) į maršrutą įjungtų viršūnių laipsniai nebus didesni nei 2; b) ciklas „neužsidarys“ per anksti 3. Kartojame trečią žingsnį kol yra neaplankytų viršūnių
10+11+13+14+18 = 66
Artimiausio kaimyno algoritmas: b 14 10 11 13 15 a c 14 18 12 13 e 1. Pasirenkame viršūnę 17 d 2. Keliaujame į artimiausią neaplankytą viršūnę 3. Kai visos viršūnės aplankytos grįžtame
13+13+10+12+18 = 66
Floyd-Warshall algoritmas
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame ketvirtą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Matricos nepasikeitė, atliekame penktą žingsnį
Apibrauktus elementus keičiame
Minimalus jungiantysis medis Medžio svoris - jo briaunų svorių suma Minimalus medis - jo briaunų svorių suma mažiausia Kruskalo algoritmas (1) Išrinkti minimalaus svorio grafo briauną, nesudarančią ciklo medyje (2) Pridėti šią briauną prie medžio briaunų aibės (3) Tęsti tol, kol yra šią savybę turinčių briaunų
Minimalus jungiantysis medis
5 4 b pradžia c 8 g a d pabaiga e 9 f 4 1. Kuris darbas bus atliekamas pirmuoju naudojant mažėjančių trukmių algoritmą? 2. Kam lygus kritinis kelias? 3. Kuris darbas bus atliekamas pirmuoju naudojant kritinių kelių algoritmą?
Gautas pakartojimo 3 kartus algoritmu užkoduotas pranešimas 110 011 111 000 001 000. Ištaisykite klaidas Tikrinamas lentelės kodu užkoduotas pranešimas. Kur padarytos klaidos? 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1
- Slides: 109