A gráf az élsúlyokat tartalmazóCadjacencia-mátrixával adott.
Az épp aktuálisUésV \Uhalmazok közt futó legkisebb súlyú élek kiválasztása a legegyszer ˝ubb implementációval: O(n2)lépés
=⇒MindenV \U-beli csúcshoz tároljuk, hogy milyen messze van az U halmaztól:
KÖZEL[i] =
∗ hai∈U
egy azi-hez legközelebbiU-beli csúcs hai∈V \U
MINSÚLY[i] =
∗ hai∈U
C[i,j] ha KÖZEL[i] =j 6=∗
A következ ˝o kék él az(i,KÖZEL[i])élek közül kerül majd ki =⇒kékes élek.
Naiv implementáció
A gráf az élsúlyokat tartalmazóCadjacencia-mátrixával adott.
Az épp aktuálisUésV \Uhalmazok közt futó legkisebb súlyú élek kiválasztása a legegyszer ˝ubb implementációval: O(n2)lépés
=⇒MindenV \U-beli csúcshoz tároljuk, hogy milyen messze van az U halmaztól:
KÖZEL[i] =
∗ hai∈U
egy azi-hez legközelebbiU-beli csúcs hai∈V \U
MINSÚLY[i] =
∗ hai∈U
C[i,j] ha KÖZEL[i] =j 6=∗
A következ ˝o kék él az(i,KÖZEL[i])élek közül kerül majd ki =⇒kékes élek.
Naiv implementáció
A gráf az élsúlyokat tartalmazóCadjacencia-mátrixával adott.
Az épp aktuálisUésV \Uhalmazok közt futó legkisebb súlyú élek kiválasztása a legegyszer ˝ubb implementációval: O(n2)lépés
=⇒MindenV \U-beli csúcshoz tároljuk, hogy milyen messze van az U halmaztól:
KÖZEL[i] =
∗ hai∈U
egy azi-hez legközelebbiU-beli csúcs hai∈V \U
MINSÚLY[i] =
∗ hai∈U
C[i,j] ha KÖZEL[i] =j 6=∗
A következ ˝o kék él az(i,KÖZEL[i])élek közül kerül majd ki =⇒kékes élek.
Naiv implementáció
A gráf az élsúlyokat tartalmazóCadjacencia-mátrixával adott.
Az épp aktuálisUésV \Uhalmazok közt futó legkisebb súlyú élek kiválasztása a legegyszer ˝ubb implementációval: O(n2)lépés
=⇒MindenV \U-beli csúcshoz tároljuk, hogy milyen messze van az U halmaztól:
KÖZEL[i] =
∗ hai∈U
egy azi-hez legközelebbiU-beli csúcs hai∈V \U
MINSÚLY[i] =
∗ hai∈U
C[i,j] ha KÖZEL[i] =j 6=∗
A következ ˝o kék él az(i,KÖZEL[i])élek közül kerül majd ki =⇒kékes élek.
Naiv implementáció
A gráf az élsúlyokat tartalmazóCadjacencia-mátrixával adott.
Az épp aktuálisUésV \Uhalmazok közt futó legkisebb súlyú élek kiválasztása a legegyszer ˝ubb implementációval: O(n2)lépés
=⇒MindenV \U-beli csúcshoz tároljuk, hogy milyen messze van az U halmaztól:
KÖZEL[i] =
∗ hai∈U
egy azi-hez legközelebbiU-beli csúcs hai∈V \U
MINSÚLY[i] =
∗ hai∈U
C[i,j] ha KÖZEL[i] =j 6=∗
A következ ˝o kék él az(i,KÖZEL[i])élek közül kerül majd ki =⇒kékes élek.
Naiv implementáció
A gráf az élsúlyokat tartalmazóCadjacencia-mátrixával adott.
Az épp aktuálisUésV \Uhalmazok közt futó legkisebb súlyú élek kiválasztása a legegyszer ˝ubb implementációval: O(n2)lépés
=⇒MindenV \U-beli csúcshoz tároljuk, hogy milyen messze van az U halmaztól:
KÖZEL[i] =
∗ hai∈U
egy azi-hez legközelebbiU-beli csúcs hai∈V \U
MINSÚLY[i] =
∗ hai∈U
C[i,j] ha KÖZEL[i] =j 6=∗
A következ ˝o kék él az(i,KÖZEL[i])élek közül kerül majd ki ⇒kékes
KÖZEL[i] :=
∗ hai=1
1 hai6=1 MINSÚLY[i] :=
∗ hai =1
C[i,1] hai 6=1
A következ ˝o kék él kiválasztása: megkeressük a MINSÚLY[ ] tömb minimumát, =⇒legrövidebbkékes éllegyen ak-ba mutató. A minimumkeresés költsége:O(n)lépés.
A(KÖZEL[k],k)élet fogjukF-be tenni,k-t pedigU-ba.
=⇒MINSÚLY[k] :=KÖZEL[k] :=∗.
A két tömb felfrissítése:AC[k,i]és a MINSÚLY[i]értékeket (i ∈V \U)kell összevetni.=⇒
ifKÖZEL[i]6=∗andC[k,i]<MINSÚLY[i]then begin KÖZEL[i] :=k;
MINSÚLY[i] :=C[k,i] end
Lépésszám: Egy él színezésO(n) =⇒O(n2)
KÖZEL[i] :=
∗ hai=1
1 hai6=1 MINSÚLY[i] :=
∗ hai =1
C[i,1] hai 6=1
A következ ˝o kék él kiválasztása: megkeressük a MINSÚLY[ ] tömb minimumát, =⇒legrövidebbkékes éllegyen ak-ba mutató.
A minimumkeresés költsége:O(n)lépés.
A(KÖZEL[k],k)élet fogjukF-be tenni,k-t pedigU-ba.
=⇒MINSÚLY[k] :=KÖZEL[k] :=∗.
A két tömb felfrissítése:AC[k,i]és a MINSÚLY[i]értékeket (i ∈V \U)kell összevetni.=⇒
ifKÖZEL[i]6=∗andC[k,i]<MINSÚLY[i]then begin KÖZEL[i] :=k;
MINSÚLY[i] :=C[k,i] end
Lépésszám: Egy él színezésO(n) =⇒O(n2)
KÖZEL[i] :=
∗ hai=1
1 hai6=1 MINSÚLY[i] :=
∗ hai =1
C[i,1] hai 6=1
A következ ˝o kék él kiválasztása: megkeressük a MINSÚLY[ ] tömb minimumát, =⇒legrövidebbkékes éllegyen ak-ba mutató.
A minimumkeresés költsége:O(n)lépés.
A(KÖZEL[k],k)élet fogjukF-be tenni,k-t pedigU-ba.
=⇒MINSÚLY[k] :=KÖZEL[k] :=∗.
A két tömb felfrissítése:AC[k,i]és a MINSÚLY[i]értékeket (i ∈V \U)kell összevetni.=⇒
ifKÖZEL[i]6=∗andC[k,i]<MINSÚLY[i]then begin KÖZEL[i] :=k;
MINSÚLY[i] :=C[k,i] end
Lépésszám: Egy él színezésO(n) =⇒O(n2)
KÖZEL[i] :=
∗ hai=1
1 hai6=1 MINSÚLY[i] :=
∗ hai =1
C[i,1] hai 6=1
A következ ˝o kék él kiválasztása: megkeressük a MINSÚLY[ ] tömb minimumát, =⇒legrövidebbkékes éllegyen ak-ba mutató.
A minimumkeresés költsége:O(n)lépés.
A(KÖZEL[k],k)élet fogjukF-be tenni,k-t pedigU-ba.
=⇒MINSÚLY[k] :=KÖZEL[k] :=∗.
A két tömb felfrissítése:AC[k,i]és a MINSÚLY[i]értékeket (i ∈V \U)kell összevetni.=⇒
ifKÖZEL[i]6=∗andC[k,i]<MINSÚLY[i]then begin KÖZEL[i] :=k;
MINSÚLY[i] :=C[k,i] end
Lépésszám: Egy él színezésO(n) =⇒O(n2)
KÖZEL[i] :=
∗ hai=1
1 hai6=1 MINSÚLY[i] :=
∗ hai =1
C[i,1] hai 6=1
A következ ˝o kék él kiválasztása: megkeressük a MINSÚLY[ ] tömb minimumát, =⇒legrövidebbkékes éllegyen ak-ba mutató.
A minimumkeresés költsége:O(n)lépés.
A(KÖZEL[k],k)élet fogjukF-be tenni,k-t pedigU-ba.
=⇒MINSÚLY[k] :=KÖZEL[k] :=∗.
A két tömb felfrissítése:AC[k,i]és a MINSÚLY[i]értékeket (i ∈V \U)kell összevetni.=⇒
ifKÖZEL[i]6=∗andC[k,i]<MINSÚLY[i]then begin KÖZEL[i] :=k;
MINSÚLY[i] :=C[k,i] end
Lépésszám: Egy él színezésO(n) =⇒O(n2)
KÖZEL[i] :=
∗ hai=1
1 hai6=1 MINSÚLY[i] :=
∗ hai =1
C[i,1] hai 6=1
A következ ˝o kék él kiválasztása: megkeressük a MINSÚLY[ ] tömb minimumát, =⇒legrövidebbkékes éllegyen ak-ba mutató.
A minimumkeresés költsége:O(n)lépés.
A(KÖZEL[k],k)élet fogjukF-be tenni,k-t pedigU-ba.
=⇒MINSÚLY[k] :=KÖZEL[k] :=∗.
A két tömb felfrissítése:AC[k,i]és a MINSÚLY[i]értékeket (i ∈V \U)kell összevetni.
=⇒
ifKÖZEL[i]6=∗andC[k,i]<MINSÚLY[i]then begin KÖZEL[i] :=k;
MINSÚLY[i] :=C[k,i] end
Lépésszám: Egy él színezésO(n) =⇒O(n2)
KÖZEL[i] :=
∗ hai=1
1 hai6=1 MINSÚLY[i] :=
∗ hai =1
C[i,1] hai 6=1
A következ ˝o kék él kiválasztása: megkeressük a MINSÚLY[ ] tömb minimumát, =⇒legrövidebbkékes éllegyen ak-ba mutató.
A minimumkeresés költsége:O(n)lépés.
A(KÖZEL[k],k)élet fogjukF-be tenni,k-t pedigU-ba.
=⇒MINSÚLY[k] :=KÖZEL[k] :=∗.
A két tömb felfrissítése:AC[k,i]és a MINSÚLY[i]értékeket (i ∈V \U)kell összevetni.=⇒
ifKÖZEL[i]6=∗andC[k,i]<MINSÚLY[i]then begin KÖZEL[i] :=k;
MINSÚLY[i] :=C[k,i]
end
Lépésszám: Egy él színezésO(n) =⇒O(n2)
KÖZEL[i] :=
∗ hai=1
1 hai6=1 MINSÚLY[i] :=
∗ hai =1
C[i,1] hai 6=1
A következ ˝o kék él kiválasztása: megkeressük a MINSÚLY[ ] tömb minimumát, =⇒legrövidebbkékes éllegyen ak-ba mutató.
A minimumkeresés költsége:O(n)lépés.
A(KÖZEL[k],k)élet fogjukF-be tenni,k-t pedigU-ba.
=⇒MINSÚLY[k] :=KÖZEL[k] :=∗.
A két tömb felfrissítése:AC[k,i]és a MINSÚLY[i]értékeket (i ∈V \U)kell összevetni.=⇒
ifKÖZEL[i]6=∗andC[k,i]<MINSÚLY[i]then begin KÖZEL[i] :=k;
KÖZEL[i] :=
∗ hai=1
1 hai6=1 MINSÚLY[i] :=
∗ hai =1
C[i,1] hai 6=1
A következ ˝o kék él kiválasztása: megkeressük a MINSÚLY[ ] tömb minimumát, =⇒legrövidebbkékes éllegyen ak-ba mutató.
A minimumkeresés költsége:O(n)lépés.
A(KÖZEL[k],k)élet fogjukF-be tenni,k-t pedigU-ba.
=⇒MINSÚLY[k] :=KÖZEL[k] :=∗.
A két tömb felfrissítése:AC[k,i]és a MINSÚLY[i]értékeket (i ∈V \U)kell összevetni.=⇒
ifKÖZEL[i]6=∗andC[k,i]<MINSÚLY[i]then begin KÖZEL[i] :=k;
MINSÚLY[i] :=C[k,i]
end