380 likes | 646 Views
Prima algoritms. Nākošais. V2. 15. Iepriekšējais. 6. 18. V3. Pauze. 8. 11. V1. 8. Turpināt. V4. Beigt. 7. 5. 10. V7. 9. 15. V6. V5. Prima algoritms. Nākošais. V2. 15. Iepriekšējais. 6. 18. V3. Pauze. Algoritma pielietošanas mērķis:
E N D
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 9 15 V6 V5
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze Algoritma pielietošanas mērķis: atrast karkasu, kura summārais loku garums ir minimāls 8 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 9 15 V6 V5
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 Katram lokam piešķirts svars- skaitlis, kas apzīmē attālumu starp abām virsotnēm, kuras saista loks V7 9 15 V6 V5
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Algoritma pielietošanas gaitā tiek izmantotas 2 kopas: T- tā satur virsotnes, kuras pieder minimālajam karkasam, un Q- tā satur minimālā karkasa lokus. Beigt 7 5 10 V7 9 15 V6 V5
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Algoritmam beidzot darbību kopā Q ir n-1 loki, kur n- virsotņu skaits grafā Beigt 7 5 10 V7 9 15 V6 V5
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Algoritma darbības rezultāts nav atkarīgs no sākuma virsotnes izvēles Beigt 7 5 10 V7 9 15 V6 V5
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Algoritma darbības laikā katrai virsotnei xi tiek piešķirtas divdaļīgas iezīmes [ai, bi], kur ai- virsotne no kopas T, kura atrodas vistuvāk virsotnei xi, bet bi- attālums (ai, xi) Beigt 7 5 10 V7 9 15 V6 V5
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Par sākuma virsotni uzskatīsim virsotni V1 Beigt 7 5 10 V7 9 15 V6 V5 Iterācija: 1 Solis: 1
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 9 15 V6 V5 Iterācija: 1 Solis: 1 Virsotni V1 ievieto kopā T
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 9 15 V6 V5 Iterācija: 1 Solis: 1 Kopa Q pagaidām ir tukša
Prima algoritms Nākošais [V1, 6] V2 15 Iepriekšējais 6 18 V3 Pauze 8 [0, ∞] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 Grafa virsotnēm tiek piešķirtas iezīmes V7 [0, ∞] 9 15 V6 V5 [V1, 5] [0, ∞] Iterācija: 1 Solis: 2
Prima algoritms Nākošais [V1, 6] V2 15 Iepriekšējais 6 18 V3 Pauze 8 [0, ∞] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 Virsotnēm, kurām nav loku, kas tās savienotu ar kādu no kopā T ietilpstošām virsotnēm, piešķir iezīmi [0, ∞] 10 V7 [0, ∞] 9 15 V6 V5 [V1, 5] [0, ∞] Iterācija: 1 Solis: 2
Prima algoritms Nākošais [V1, 6] V2 15 Iepriekšējais 6 18 V3 Pauze 8 [0, ∞] 11 V1 8 Turpināt V4 [V1, 11] Beigt No visām grafa virsotnēm tiek izvēlēta virsotne, kurai bi ir vismazākais 7 5 10 V7 [0, ∞] 9 15 V6 V5 [V1, 5] [0, ∞] Iterācija: 1 Solis: 3
Prima algoritms Nākošais [V1, 6] V2 15 Iepriekšējais 6 18 V3 Pauze 8 [0, ∞] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [0, ∞] 9 15 V6 V5 [V1, 5] [0, ∞] Iterācija: 1 Solis: 3 Šo virsotni pievieno kopai T
Prima algoritms Nākošais [V1, 6] V2 15 Iepriekšējais 6 18 V3 Pauze 8 [0, ∞] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [0, ∞] 9 15 V6 V5 [V1, 5] [0, ∞] Iterācija: 1 Solis: 3 Kopai Q pievieno loku (V1, V5)
Prima algoritms Nākošais [V1, 6] V2 15 Iepriekšējais 6 18 V3 Pauze 8 [0, ∞] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [V5, 9] Tiek atjaunotas virsotņu iezīmes 9 15 V6 V5 [V5, 15] Iterācija: 1 Solis: 4
Prima algoritms Nākošais [V1, 6] V2 15 Iepriekšējais No visām grafa virsotnēm tiek izvēlēta virsotne, kurai bi ir vismazākais 6 18 V3 Pauze 8 [0, ∞] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [V5, 9] 9 15 V6 V5 [V5, 15] Iterācija: 2 Solis: 3
Prima algoritms Nākošais [V1, 6] V2 15 Iepriekšējais 6 18 V3 Pauze 8 [0, ∞] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [V5, 9] 9 15 V6 V5 [V5, 15] Iterācija: 2 Solis: 3 Šo virsotni pievieno kopai T
Prima algoritms Nākošais [V1, 6] V2 15 Iepriekšējais 6 18 V3 Pauze 8 [0, ∞] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [V5, 9] 9 15 V6 V5 [V5, 15] Iterācija: 2 Solis: 3 Kopai Q pievieno loku (V1, V2)
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V2, 15] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [V5, 9] Tiek atjaunotas virsotņu iezīmes 9 15 V6 V5 [V5, 15] Iterācija: 2 Solis: 4
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V2, 15] 11 V1 8 No visām grafa virsotnēm tiek izvēlēta virsotne, kurai bi ir vismazākais Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [V5, 9] 9 15 V6 V5 [V5, 15] Iterācija: 3 Solis: 3
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V2, 15] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [V5, 9] 9 15 V6 V5 [V5, 15] Iterācija: 3 Solis: 3 Šo virsotni pievieno kopai T
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V2, 15] 11 V1 8 Turpināt V4 [V1, 11] Beigt 7 5 10 V7 [V5, 9] 9 15 V6 V5 [V5, 15] Iterācija: 3 Solis: 3 Kopai Q pievieno loku (V5, V7)
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V2, 15] 11 V1 8 Turpināt V4 [V7, 7] Beigt 7 5 10 V7 Tiek atjaunotas virsotņu iezīmes 9 15 V6 V5 [V5, 15] Iterācija: 3 Solis: 4
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V2, 15] 11 V1 8 No visām grafa virsotnēm tiek izvēlēta virsotne, kurai bi ir vismazākais Turpināt V4 [V7, 7] Beigt 7 5 10 V7 9 15 V6 V5 [V5, 15] Iterācija: 4 Solis: 3
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V2, 15] 11 V1 8 Turpināt V4 [V7, 7] Beigt 7 5 10 V7 9 15 V6 V5 [V5, 15] Iterācija: 4 Solis: 3 Šo virsotni pievieno kopai T
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V2, 15] 11 V1 8 Turpināt V4 [V7, 7] Beigt 7 5 10 V7 9 15 V6 V5 [V5, 15] Iterācija: 4 Solis: 3 Kopai Q pievieno loku (V7, V4)
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V4, 8] 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 Tiek atjaunotas virsotņu iezīmes 9 15 V6 V5 [V4, 10] Iterācija: 4 Solis: 4
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V4, 8] 11 V1 8 Turpināt V4 No visām grafa virsotnēm tiek izvēlēta virsotne, kurai bi ir vismazākais Beigt 7 5 10 V7 9 15 V6 V5 [V4, 10] Iterācija: 5 Solis: 3
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V4, 8] 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 9 15 V6 V5 [V4, 10] Iterācija: 5 Solis: 3 Šo virsotni pievieno kopai T
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 [V4, 8] 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 9 15 V6 V5 [V4, 10] Kopai Q pievieno loku (V4, V3) Iterācija: 5 Solis: 3
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 Tiek atjaunotas virsotņu iezīmes 9 15 V6 V5 [V4, 10] Iterācija: 5 Solis: 4
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 No visām grafa virsotnēm tiek izvēlēta virsotne, kurai bi ir vismazākais Turpināt V4 Beigt 7 5 10 V7 9 15 V6 V5 [V4, 10] Iterācija: 6 Solis: 3
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 9 15 V6 V5 [V4, 10] Iterācija: 6 Solis: 3 Šo virsotni pievieno kopai T
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 V7 9 15 V6 V5 Kopai Q pievieno loku (V4, V3) [V4, 10] Iterācija: 6 Solis: 3
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 Algoritms darbu beidz, jo kopa T satur visas grafa virsotnes un loku skaits kopā Q ir n-1, kur n- virsotņu skaits grafā V7 9 15 V6 V5 Iterācija: 6 Solis: 3
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 Atrastais minimālais karkass V7 9 15 V6 V5 Iterācija: 6 Solis: 3
Prima algoritms Nākošais V2 15 Iepriekšējais 6 18 V3 Pauze 8 11 V1 8 Turpināt V4 Beigt 7 5 10 Minimālā karkasa kopējais garums: 5+6+9+7+8+10=45 V7 9 15 V6 V5 Iterācija: 6 Solis: 3