Transcript
Page 1: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Šajā piemērā tiks salīdzināta Prima un Kraskala algoritmu

darbība vienā un tajā pašā grafā

Page 2: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Abi algoritmi meklē grafa minimālo

karkasu un ir vienādi efektīvi

Page 3: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Algoritmu pielietošanas gaitā tiek izmantota kopa

Q- tā satur minimālā karkasa lokus

Q Q

Page 4: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms lieto vēl vienu kopu- T, kura satur

virsotnes, kas pieder minimālajam karkasam

Q

T

Q

Page 5: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

QQ

T

Katrā iterācijā Prima algoritms minimālajam karkasam pievieno

loku ar minimālo svaru, kurā incidents kādai no virsotnēm kopā T un pievienošanas rezultātā neveido

ciklus ar jau iekļautajiem lokiem

Page 6: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

QQ

T

Katrā iterācijā Kraskala algoritms minimālajam karkasam pievieno

loku ar minimālu svaru, kurš pievienošanas rezultātā neveido ciklus ar jau iekļautajiem lokiem,

neatkarīgi no loka atrašanās vietas grafā

Page 7: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

QQ

T V1

Par sākuma virsotni Prima algoritmam uzskatīsim virsotni V1, to ievieto kopā

T

0. Iterācija

Page 8: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

QQ

T V1

1. Iterācija

Prima algoritms grafa virsotnēm piešķir iezīmes

[V1, 5]

[V1, 6]

[V1, 11]

[0, ∞]

[0, ∞][0, ∞]

Page 9: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

QQ

T V1

1. Iterācija

Abi algoritmi, atbilstoši to nosacījumiem,

atrod loku ar mazāko svaru

[V1, 5]

[V1, 6]

[V1, 11]

[0, ∞]

[0, ∞][0, ∞]

Page 10: Prima un Kraskala algoritmu salīdzinājums

[0, ∞]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5)Q (V1, V5)

T V1

1. Iterācija

Atrastos lokus pievieno kopām Q

[V1, 5]

[V1, 6]

[V1, 11]

[0, ∞]

[0, ∞]

Page 11: Prima un Kraskala algoritmu salīdzinājums

[0, ∞]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5)Q (V1, V5)

T V1, V5

1. Iterācija

Prima algoritms kopai T pievieno

virsotni V5[V1, 5]

[V1, 6]

[V1, 11]

[0, ∞]

[0, ∞]

Page 12: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5)Q (V1, V5)

T V1, V5

2. Iterācija

Prima algoritms atjauno grafa

iezīmes

[V1, 6]

[V1, 11]

[0, ∞]

[V5, 9]

Page 13: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5)Q (V1, V5)

T V1, V5

2. Iterācija[V1, 6]

[V1, 11]

[0, ∞]

[V5, 9]

Abi algoritmi, atbilstoši to nosacījumiem,

atrod loku ar mazāko svaru

Page 14: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2)Q (V1, V5), (V1, V2)

T V1, V5

2. Iterācija[V1, 6]

[V1, 11]

[0, ∞]

[V5, 9]

Atrastos lokus pievieno kopām Q

Page 15: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2)Q (V1, V5), (V1, V2)

T V1, V5, V2

2. Iterācija[V1, 6]

[V1, 11]

[0, ∞]

[V5, 9]

Prima algoritms pievieno virsotni V2

kopai T

Page 16: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2)Q (V1, V5), (V1, V2)

T V1, V5, V2

3. Iterācija

[V1, 11]

[V2,15]

[V5, 9]

Prima algoritms atjauno grafa

virsotņu iezīmes

Page 17: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2)Q (V1, V5), (V1, V2)

T V1, V5, V2

3. Iterācija

[V1, 11]

[V2,15]

[V5, 9]

Abi algoritmi, atbilstoši to nosacījumiem,

atrod loku ar mazāko svaru

Page 18: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4)Q (V1, V5), (V1, V2), (V5, V7)

T V1, V5, V2

3. Iterācija

[V1, 11]

[V2,15]

[V5, 9]

Atrastos lokus pievieno kopām Q

Page 19: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4)Q (V1, V5), (V1, V2), (V5, V7)

T V1, V5, V2, V7

3. Iterācija

[V1, 11]

[V2,15]

[V5, 9]

Prima algoritms pievieno virsotni V7 kopai T

Page 20: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4)Q (V1, V5), (V1, V2), (V5, V7)

T V1, V5, V2, V7

4. Iterācija

[V7, 7]

[V2,15]

Prima algoritms atjauno grafa virsotņu iezīmes

Page 21: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4)Q (V1, V5), (V1, V2), (V5, V7)

T V1, V5, V2, V7

4. Iterācija

[V7, 7]

[V2,15]

Abi algoritmi, atbilstoši to nosacījumiem,

atrod loku ar mazāko svaru

Page 22: Prima un Kraskala algoritmu salīdzinājums

[V5, 15]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3)Q (V1, V5), (V1, V2), (V5, V7), (V7, V4)

T V1, V5, V2, V7, V4

4. Iterācija

[V7, 7]

[V2,15]

Prima algoritms pievieno virsotni

V4 kopai T

Page 23: Prima un Kraskala algoritmu salīdzinājums

[V4, 10]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

18 8

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3)Q (V1, V5), (V1, V2), (V5, V7), (V7, V4)

T V1, V5, V2, V7, V4

5. Iterācija

[V4, 8]

Prima algoritms atjauno grafa

virsotņu iezīmes

Page 24: Prima un Kraskala algoritmu salīdzinājums

[V4, 10]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3)Q (V1, V5), (V1, V2), (V5, V7), (V7, V4)

T V1, V5, V2, V7, V4

5. Iterācija

[V4, 8]

Abi algoritmi, atbilstoši to nosacījumiem,

atrod loku ar mazāko svaru

Page 25: Prima un Kraskala algoritmu salīdzinājums

[V4, 10]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3), (V5, V7)

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3)

T V1, V5, V2, V7, V4

5. Iterācija

[V4, 8]

Atrastie loki tiek pievienoti kopām

Q

Page 26: Prima un Kraskala algoritmu salīdzinājums

[V4, 10]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3), (V5, V7)

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3)

T V1, V5, V2, V7, V4, V3

5. Iterācija

[V4, 8]

Prima algoritms pievieno virsotni V3

kopai T

Page 27: Prima un Kraskala algoritmu salīdzinājums

[V4, 10]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3), (V5, V7)

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3)

T V1, V5, V2, V7, V4, V3

6. Iterācija

Prima algoritms atjauno grafa

virsotņu iezīmes

Page 28: Prima un Kraskala algoritmu salīdzinājums

[V4, 10]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3), (V5, V7)

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3)

T V1, V5, V2, V7, V4, V3

6. Iterācija

Abi algoritmi, atbilstoši to nosacījumiem,

atrod loku ar mazāko svaru

Page 29: Prima un Kraskala algoritmu salīdzinājums

[V4, 10]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3), (V5, V7), (V4, V6)

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3), (V4, V6)

T V1, V5, V2, V7, V4, V3

6. Iterācija

Atrastie loki tiek pievienoti kopām

Q

Page 30: Prima un Kraskala algoritmu salīdzinājums

[V4, 10]

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3), (V5, V7), (V4, V6)

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3), (V4, V6)

T V1, V5, V2, V7, V4, V3, V6

6. Iterācija

Prima algoritms pievieno virsotni V6

kopai T

Page 31: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3), (V5, V7), (V4, V6)

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3), (V4, V6)

T V1, V5, V2, V7, V4, V3, V6

6. Iterācija

Abi algoritmi darbu beidz, jo kopās Q katrā

ir n-1 loki, kur n- virsotņu skaits grafā

Page 32: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3), (V5, V7), (V4, V6)

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3), (V4, V6)

T V1, V5, V2, V7, V4, V3, V6

6. Iterācija

Kā redzams, abi algoritmi atraduši vienādus

minimālos karkasus turklāt vienādā skaitā

iterāciju, lai gan loki tika pievienoti atšķirīgā secībā

Page 33: Prima un Kraskala algoritmu salīdzinājums

Prima un Kraskala algoritmu salīdzinājums

V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11 V1

V2

V3

V4

V5 V6

V7

615

8

188

59

7

15

10

11

Prima algoritms Kraskala algoritms

Q (V1, V5), (V1, V2), (V7, V4), (V4, V3), (V5, V7), (V4, V6)

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3), (V4, V6)

T V1, V5, V2, V7, V4, V3, V6

6. Iterācija

Abos gadījumos iegūtā minimālā karkasa kopējais svars ir:

6+5+9+7+8+10=45


Recommended